Packages

c

com.avsystem.commons.serialization

PeekingObjectInput

final class PeekingObjectInput extends ObjectInput

Wrapper over ObjectInput that lets you peek next field name without advancing the input.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PeekingObjectInput
  2. ObjectInput
  3. SequentialInput
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PeekingObjectInput(original: ObjectInput)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. 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
  11. def hasNext: Boolean
    Definition Classes
    PeekingObjectInputSequentialInput
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def iterator[A](readFun: (Input) ⇒ A): Iterator[(String, A)]
    Definition Classes
    ObjectInput
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. 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
    PeekingObjectInputObjectInput
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. 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
    PeekingObjectInputObjectInput
  20. def peekNextFieldName: commons.Opt[String]
  21. def skipRemaining(): Unit
    Definition Classes
    ObjectInputSequentialInput
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from ObjectInput

Inherited from SequentialInput

Inherited from AnyRef

Inherited from Any

Ungrouped