c

com.avsystem.commons.hocon

HoconObjectInput

class HoconObjectInput extends ObjectInput with BaseHoconInput

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HoconObjectInput
  2. BaseHoconInput
  3. ObjectInput
  4. SequentialInput
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HoconObjectInput(configObject: ConfigObject)

Value Members

  1. def getNextNamedField(name: String): FieldInput

    Tries to obtain FieldInput for field with specified name, either by using peekField (assuming format with random field access) or nextField (assuming format that preserves field order).

    Tries to obtain FieldInput for field with specified name, either by using peekField (assuming format with random field access) or nextField (assuming format that preserves field order). A codec that uses this method must ensure that it reads fields in the same order as they were written using writeField on ObjectOutput.

    Definition Classes
    ObjectInput
  2. def hasNext: Boolean
    Definition Classes
    HoconObjectInputSequentialInput
  3. def iterator[A](readFun: (Input) ⇒ A): Iterator[(String, A)]
    Definition Classes
    ObjectInput
  4. def nextField(): FieldInput

    Returns FieldInput that represents next field of this object.

    Returns FieldInput that represents next field of this object. You MUST NOT call nextField() again until this FieldInput is fully read or skipped.

    Serialization format implemented by this ObjectInput must either preserve order of fields (as they are written by corresponding ObjectOutput) OR it must provide random field access capability.

    • If the serialization format is able to preserve object field order then nextField must return object fields in exactly the same order as they were written by ObjectOutput.writeField. This is natural for most serialization formats backed by strings, raw character or byte sequences, e.g. JSON implemented by JsonStringOutput/ JsonStringInput.
    • If the serialization format is unable to preserve object field order (e.g. because it uses hash maps to represent objects) then it must instead support random, by-name field access by overriding peekField.
    Definition Classes
    HoconObjectInputObjectInput
  5. def peekField(name: String): commons.Opt[FieldInput]

    If serialization format implemented by ObjectInput does NOT preserve field order, then this method MUST be overridden to support random field access.

    If serialization format implemented by ObjectInput does NOT preserve field order, then this method MUST be overridden to support random field access. It should return non-empty Opt containing input for every field present in the object, regardless of field order assumed by nextField. Opt.Empty is returned when field is absent or always when this ObjectInput does not support random field access (in which case it must preserve field order instead). NOTE: calling peekField and using FieldInput returned by it MUST NOT change state of this ObjectInput. Therefore, it cannot in any way influence results returned by nextField and hasNext. For example, if a FieldInput for particular field has already been accessed using peekField but has not yet been returned by nextField then it MUST be returned at some point in the future by nextField.

    Definition Classes
    HoconObjectInputObjectInput
  6. def skipRemaining(): Unit
    Definition Classes
    ObjectInputSequentialInput