scala.pickling

PReader

trait PReader extends Hintable

A reader of pickled content. This is a mutable API, intended to be called in certain specific ways.

Here are a few static rules that all picklers must follow when using this interface.

1. There must be a hintTag() before any beginEntry() call. 2. There will be one endEntry() for every beginEntry() call. 3. There will be one endCollection() for every beginCollection() call. 4. Every beginCollection()/endCollection() pair will be inside a beginEntry()/endEntry() pair. 5. Every readLength() call will be immediately after a beginCollection() call. 6. Every readElement() call must happen within a beginCollection()/endCollection() block, and after a readLength(). 7. Every readField() call must happen within a beginEntry()/endEntry() block. 8. If readLength() returns 0, there will be no called to readElement(). 9. readField() will only be called where atObject would return true 10. readPrimitive will only be called when atPrimitive would return true 11. The order of readField calls in any pickler will be the exact same ordering when pickling,

Here is a list of all types the auto-generated Picklers considers "primitives" and must be directly supported by any PReader "readPrimitive" operation:

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PReader
  2. Hintable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def atObject: Boolean

    returns true if the reader is currently looking at a pickled object/structure.

  2. abstract def atPrimitive: Boolean

    returns true if the reader is currently looking at a pickled primitive.

  3. abstract def beginCollection(): PReader

    Denotes we'd like to read the current entry as a collection.

    Denotes we'd like to read the current entry as a collection. Note: Must be called after a beginEntry* call.

  4. abstract def beginEntry(): String

    Start reading a pickled value.

    Start reading a pickled value. This will return any serialized type tag key string. This string can be used to reconstitute a FastTypeTag w/ a mirror, but is intended for use as fast string-matching.

  5. abstract def endCollection(): Unit

    Denote that we are done reading a collection.

  6. abstract def endEntry(): Unit

    Denotes that we're done reading an entry in the pickle.

  7. abstract def hintDynamicallyElidedType(): PReader.this.type

    Definition Classes
    Hintable
  8. abstract def hintKnownSize(knownSize: Int): PReader.this.type

    Definition Classes
    Hintable
  9. abstract def hintOid(id: Int): PReader.this.type

    Definition Classes
    Hintable
  10. abstract def hintStaticallyElidedType(): PReader.this.type

    Definition Classes
    Hintable
  11. abstract def hintTag(tag: FastTypeTag[_]): PReader.this.type

    Definition Classes
    Hintable
  12. abstract def pinHints(): PReader.this.type

    Definition Classes
    Hintable
  13. abstract def popHints(): PReader.this.type

    Definition Classes
    Hintable
  14. abstract def pushHints(): PReader.this.type

    Definition Classes
    Hintable
  15. abstract def readElement(): PReader

    Returns a new Reader that can be used to read the next element in a collection.

  16. abstract def readField(name: String): PReader

    Returns a reader which can read a field of a complex structure in the pickle.

    Returns a reader which can read a field of a complex structure in the pickle.

    name

    The name of the field

    returns

    A reader which can read the structure's field.

  17. abstract def readLength(): Int

    Reads the length of a serialized collection.

    Reads the length of a serialized collection. Must be called directly after beginCollection and before readElement.

    returns

    The length of a serialized collection.

  18. abstract def readPrimitive(): Any

    Reads one of the supported primitive types from the pickler.

  19. abstract def unpinHints(): PReader.this.type

    Definition Classes
    Hintable

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Hintable

Inherited from AnyRef

Inherited from Any

Ungrouped