class CborInput extends InputAndSimpleInput

An Input implementation that deserializes from CBOR.

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CborInput
  2. InputAndSimpleInput
  3. SimpleInput
  4. Input
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CborInput(reader: CborReader, fieldLabels: FieldLabels)

Value Members

  1. def legacyOptionEncoding: Boolean

    This ugly workaround has been introduced when standard Option encoding changed from zero-or-one element list encoding to unwrapped-or-null encoding which effectively disallowed serializing null and Some(null).

    This ugly workaround has been introduced when standard Option encoding changed from zero-or-one element list encoding to unwrapped-or-null encoding which effectively disallowed serializing null and Some(null). If some Input implementation still wants to use the list encoding, it may do it by overriding this method and returning true.

    Definition Classes
    Input
  2. def readBigDecimal(): BigDecimal
    Definition Classes
    CborInputSimpleInput
  3. def readBigInt(): BigInt
    Definition Classes
    CborInputSimpleInput
  4. def readBinary(): Array[Byte]
    Definition Classes
    CborInputSimpleInput
  5. def readBoolean(): Boolean
    Definition Classes
    CborInputSimpleInput
  6. def readByte(): Byte
    Definition Classes
    SimpleInput
  7. def readChar(): Char
    Definition Classes
    SimpleInput
  8. def readCustom[T](typeMarker: TypeMarker[T]): commons.Opt[T]

    Attempts to read some arbitrary custom "native" value that this input may or may not support.

    Attempts to read some arbitrary custom "native" value that this input may or may not support. The custom type is identified by an instance of TypeMarker which is usually an object (e.g. companion object of the custom T type itself). This way Input and Output implementations may support other native types than the ones supported by default by Input and Output interfaces.

    Codecs may use this method to optimize encoded format in case it it possible with particular Input implementation. GenCodec may generally assume that if the data was written by a corresponding Output which also support this custom native type then readCustom should return non-empty value.

    Opt.Empty returned by this method indicates that this input does not support this particular type. If it supports it but there was some error reading it then a ReadFailure should be thrown instead of returning Opt.Empty.

    Definition Classes
    CborInputInput
  9. def readDouble(): Double
    Definition Classes
    CborInputSimpleInput
  10. def readFloat(): Float
    Definition Classes
    SimpleInput
  11. def readInt(): Int
    Definition Classes
    CborInputSimpleInput
  12. def readList(): CborListInput
    Definition Classes
    CborInputInput
  13. def readLong(): Long
    Definition Classes
    CborInputSimpleInput
  14. def readMetadata[T](metadata: InputMetadata[T]): commons.Opt[T]

    Attempts to read some arbitrary "metadata" about this input instance.

    Attempts to read some arbitrary "metadata" about this input instance. Metadata is identified by InputMetadata which is usually an object (e.g. companion object of metadata value type T). An example of InputMetadata is JsonType supported by JsonStringInput.

    Codecs may use this method to optimize encoded format in case it it possible with particular Input implementation. GenCodec may generally assume that if the data was written by a corresponding Output that preserves particular metadata type (which may be determined by Output.keepsMetadata()) then readMetadata will return a non-empty value.

    Opt.Empty may be returned form this method ONLY if this Input implementation does not support this metadata type AT ALL. Any errors should be signaled by throwing ReadFailure.

    Definition Classes
    CborInputInput
  15. def readNull(): Boolean

    Attempts to read null value from an Input.

    Attempts to read null value from an Input. Returning true means that input instance contained a null value. Its state should then be changed so that input can be considered "consumed" (no other reads are possible on this instance). Returning false means that the input contains something else than a null value. Its state must not change in this situation and it must be possible to call some other read method on it.

    Definition Classes
    CborInputInput
  16. def readObject(): CborObjectInput
    Definition Classes
    CborInputInput
  17. def readRawCbor(): RawCbor
  18. def readShort(): Short
    Definition Classes
    SimpleInput
  19. final def readSimple(): SimpleInput
    Definition Classes
    InputAndSimpleInputInput
  20. def readString(): String
    Definition Classes
    CborInputSimpleInput
  21. def readTags(): List[Tag]
  22. def readTimestamp(): Long
    Definition Classes
    CborInputSimpleInput
  23. def skip(): Unit

    Ignores this input and skips its contents internally, if necessary

    Ignores this input and skips its contents internally, if necessary

    Definition Classes
    CborInputInput