returns true if the reader is currently looking at a pickled object/structure.
returns true if the reader is currently looking at a pickled primitive.
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.
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.
Denote that we are done reading a collection.
Denotes that we're done reading an entry in the pickle.
Returns a new Reader that can be used to read the next element in a collection.
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.
The name of the field
A reader which can read the structure's field.
Reads the length of a serialized collection.
Reads the length of a serialized collection. Must be called directly after beginCollection and before readElement.
The length of a serialized collection.
Reads one of the supported primitive types from the pickler.
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: