object EmailAddress extends Serializable
Creates an EmailAddress by parsing an email address string.
The parser conforms to both RFC 5322, section 3.4.1, which outlines what is a valid email address using the ASCII character set and RFC 6531 which contains extensions allowing for Unicode based email addresses.
The parser will strip out any comments (enclosed in backets) from the
email address and divide the address into two parts. The first part is
the local
section which occurs before the @
symbol and the second
part is the domain
which is after the @
symbol. Any escapes are
interpreted and removed from the values.
- Source
- EmailAddress.scala
- See also
"RFC 5322, section 3.4.1"
"RFC 6531"
- Alphabetic
- By Inheritance
- EmailAddress
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def fromString(value: String, idn: Boolean, obsolete: Boolean): Either[Error, EmailAddress]
Parses an email address allowing for both Unicode characters and strict implementation of RFC 5322.
Parses an email address allowing for both Unicode characters and strict implementation of RFC 5322.
RFC 5322 contains a strict set of specifications and also allows for obsolete rules. In general email addresses should be written to conform to the strict interpretation of RFC 5322, while the parsing of email addresses should include the obsolete rules.
The
obsolete
argument can be used to indicate whether the obsolete rules should be applied when parsing an email address. The otherfromString
methods have obsolete rules enabled when parsing email addresses.- value
email address string to be parsed
- idn
true
value to parse with RFC 6531 otherwise RFC 5322 is used- obsolete
true
to enable more flexible obsolete parsing rules- returns
EmailAddress if valid otherwise an Error
- def fromString(value: String, idn: Boolean): Either[Error, EmailAddress]
Parses an email address conforming to either RFC 5322, section 3.4.1 or RFC 6531.
Parses an email address conforming to either RFC 5322, section 3.4.1 or RFC 6531.
The
idn
argument controls whether the parser obeys the RFC 5322 or RFC 6531 specification. Atrue
value will enable RFC 6531 support otherwise RFC 5322 is used. The email address is split into alocal
part containing the user or group name and thedomain
part containing the fully qualified machine name to handle the email address.- value
email address string to be parsed
- idn
true
value to parse Unicode addresses otherwise ASCII- returns
EmailAddress if valid otherwise an Error
- def fromString(value: String): Either[Error, EmailAddress]
Parses an email address conforming to RFC 5322, section 3.4.1.
Parses an email address conforming to RFC 5322, section 3.4.1.
An ASCII only email address is parsed and broken into its
local
anddomain
parts. An EmailAddress is returned containing the two parts.- value
containing email address to be parsed
- returns
EmailAddress if valid otherwise an Error
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Documentation for the Axiell Schema Project
Overview
The Axiell Schema Project provides a small library for validating JSON documents against a JSON Schema. The library conforms to the JSON Schema Draft #7 specification.
The library is based on a few simple principles, namely:
Package structure
The
packages consists of a number of utilities, where each utility provides a single piece of functionality. Since the library validates JSON structures two main components are provided. The first component (com.axiell.schema
) allows JSON documents conforming to the JSON Schema specification to be read. Once read a resolution process may be required to resolve any external references defined in the document.com.axiell.schema.Schema
The second component (
) takes a resolved schema and allows JSON documents to be validated against that schema. When creating a validator it is also possible to incorporate your own "format" types for validation.com.axiell.schema.SchemaValidator
A set of auxiliary components implement parsers for many of the "format" types and can be used independently of the validator itself.
Notable utilities are:
Schema
wrapper around a JSON document containing the document itself, its$id
value and resolution mappings for all$id
and$ref
directives.SchemaValidator
takes aSchema
and an optional handler for "format" types and provides a validation method for arbitrary JSON documents.Implicits
implements implicit methods and classes used to convert one class to another or pimp methods onto existing classes (e.g.same()
method toJValue
class).EmailAddress
Hostname
Ipv4Address
Ipv6Address
JsonPointer
RelativeJsonPointer
Dependencies
The list of dependencies are:
Axiell Util Library
provides error handling classes and methods that allow multilingual error messages to be generated.JSON for Scala Library
provides mthods for dealing with JSON structures. The routines work around an AST (Abstract Syntax Tree) used to represent a JSON document.Cats Functional Programming Library
provides various traits, classes and methods that simplify functional programming in Scala. Also provides theValidated
class used to return lists of validation errors.