trait CodecForOptional[T, CF <: CodecFormat, R] extends Decode[T, Option[R]]
A Codec which can encode to optional raw values / decode from optional *raw* values. An optional raw value specifies if the raw value should be included in the output, or not. Depending on the codec, decoding from an optional value might yield DecodeResult.Missing.
Should be used for inputs/outputs which can be mapped to an optional value.
The main difference comparing to Codec is the signature of the encode
and rawDecode
methods. For each
Codec, a CodecForOptional can be derived.
- Self Type
- CodecForOptional[T, CF, R]
- Annotations
- @implicitNotFound( ... )
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- CodecForOptional
- Decode
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Abstract Value Members
- abstract def encode(t: T): Option[R]
- abstract def meta: CodecMeta[T, CF, R]
-
abstract
def
rawDecode(s: Option[R]): DecodeResult[T]
- Definition Classes
- CodecForOptional → Decode
Concrete Value Members
-
def
decode(r: Option[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
- def map[TT](f: (T) ⇒ TT)(g: (TT) ⇒ T): CodecForOptional[TT, CF, R]
- def mapDecode[TT](f: (T) ⇒ DecodeResult[TT])(g: (TT) ⇒ T): CodecForOptional[TT, CF, R]
- def validate(v: Validator[T]): CodecForOptional[T, CF, R]