trait Codec[T, CF <: CodecFormat, R] extends Decode[T, R]
A pair of functions: one to encode a value of type T
to a raw value of type R
formatted as CF
,
and another one to decode.
Also contains meta-data on the schema
of the value, the codec format and the raw value type.
- T
Type of the values which can be encoded / to which raw values can be decoded.
- CF
The format of encoded values. Corresponds to a media type.
- R
Type of the raw value to which values are encoded.
- Self Type
- Codec[T, CF, R]
- Annotations
- @implicitNotFound("""Cannot find a codec for type: ${T}, formatted as: ${CF}.
Did you define a codec for: ${T}?
Did you import the codecs for: ${CF}?
Is there an implicit schema for: ${T}, and all of its components?
(codecs are looked up as implicit values of type Codec[${T}, ${CF}, _];
schemas are looked up as implicit values of type Schema[${T}])
""")
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Codec
- Decode
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Abstract Value Members
- abstract def encode(t: T): R
- abstract def meta: CodecMeta[T, CF, R]
- abstract def rawDecode(s: R): DecodeResult[T]
Concrete 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()
- def codecFormat[F2 <: CodecFormat](f2: F2): Codec[T, F2, R]
- def decode(f: R): DecodeResult[T]
- calls
rawDecode
- catches any exceptions that might occur, converting them to decode failures - validates the result- calls
rawDecode
- catches any exceptions that might occur, converting them to decode failures - validates the result- Definition Classes
- Decode
- 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])
- 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
- def map[TT](f: (T) => TT)(g: (TT) => T): Codec[TT, CF, R]
- def mapDecode[TT](f: (T) => DecodeResult[TT])(g: (TT) => T): Codec[TT, CF, R]
- def modifySchema(modify: (Schema[T]) => Schema[T]): Codec[T, CF, R]
- 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()
- def schema(s2: Schema[T]): Codec[T, CF, R]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def validate(v: Validator[T]): Codec[T, CF, R]
- 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()