public interface PofReader
See PofWriter
for a complete description of the POF user type serialization format.
PofContext
, PofWriter
Modifier and Type | Method and Description |
---|---|
PofReader |
createNestedPofReader(int iProp)
Obtain a PofReader that can be used to read a set of properties from a single property of the current user type.
|
PofContext |
getPofContext()
Return the PofContext object used by this PofReader to deserialize user types from a POF stream.
|
int |
getUserTypeId()
Determine the user type that is currently being parsed.
|
int |
getVersionId()
Determine the version identifier of the user type that is currently being parsed.
|
<T> T[] |
readArray(int iProp, IntFunction<T[]> supplier)
Read an array of values.
|
BigDecimal |
readBigDecimal(int iProp)
Read a BigDecimal from the POF stream.
|
BigInteger |
readBigInteger(int iProp)
Read a BigInteger from the POF stream.
|
Binary |
readBinary(int iProp)
Read a Binary from the POF stream.
|
boolean |
readBoolean(int iProp)
Read a boolean property from the POF stream.
|
boolean[] |
readBooleanArray(int iProp)
Read a boolean[] property from the POF stream.
|
byte |
readByte(int iProp)
Read a byte property from the POF stream.
|
byte[] |
readByteArray(int iProp)
Read a byte[] property from the POF stream.
|
char |
readChar(int iProp)
Read a char property from the POF stream.
|
char[] |
readCharArray(int iProp)
Read a char[] property from the POF stream.
|
<T,C extends Collection<T>> |
readCollection(int iProp, C coll)
Read a Collection of object values from the POF stream.
|
Date |
readDate(int iProp)
Read a java.util.Date from the POF stream.
|
double |
readDouble(int iProp)
Read a double property from the POF stream.
|
double[] |
readDoubleArray(int iProp)
Read a double[] property from the POF stream.
|
float |
readFloat(int iProp)
Read a float property from the POF stream.
|
float[] |
readFloatArray(int iProp)
Read a float[] property from the POF stream.
|
int |
readInt(int iProp)
Read a int property from the POF stream.
|
int[] |
readIntArray(int iProp)
Read a int[] property from the POF stream.
|
LocalDate |
readLocalDate(int iProp)
Read a java.time.LocalDate from the POF stream.
|
LocalDateTime |
readLocalDateTime(int iProp)
Read a java.time.LocalDateTime from the POF stream.
|
LocalTime |
readLocalTime(int iProp)
Read a java.time.LocalTime from the POF stream.
|
long |
readLong(int iProp)
Read a long property from the POF stream.
|
long[] |
readLongArray(int iProp)
Read a long[] property from the POF stream.
|
<T> LongArray<T> |
readLongArray(int iProp, LongArray<T> array)
Read a LongArray of object values.
|
<K,V,M extends Map<K,V>> |
readMap(int iProp, M map)
Read a Map of key/value pairs from the POF stream.
|
<T> T |
readObject(int iProp)
Read a property of any type, including a user type, from the POF stream.
|
Object[] |
readObjectArray(int iProp, Object[] ao)
Deprecated.
|
OffsetDateTime |
readOffsetDateTime(int iProp)
Read a java.time.OffsetDateTime from the POF stream.
|
OffsetTime |
readOffsetTime(int iProp)
Read a java.time.OffsetTime from the POF stream.
|
RawDate |
readRawDate(int iProp)
Read a RawDate from the POF stream.
|
RawDateTime |
readRawDateTime(int iProp)
Read a RawDateTime from the POF stream.
|
RawDayTimeInterval |
readRawDayTimeInterval(int iProp)
Read a RawDayTimeInterval from the POF stream.
|
RawQuad |
readRawQuad(int iProp)
Read a RawQuad from the POF stream.
|
RawTime |
readRawTime(int iProp)
Read a RawTime from the POF stream.
|
RawTimeInterval |
readRawTimeInterval(int iProp)
Read a RawTimeInterval from the POF stream.
|
RawYearMonthInterval |
readRawYearMonthInterval(int iProp)
Read a RawYearMonthInterval from the POF stream.
|
Binary |
readRemainder()
Read all remaining indexed properties of the current user type from the POF stream.
|
short |
readShort(int iProp)
Read a short property from the POF stream.
|
short[] |
readShortArray(int iProp)
Read a short[] property from the POF stream.
|
String |
readString(int iProp)
Read a String from the POF stream.
|
default ZonedDateTime |
readZonedDateTime(int iProp)
Read a java.time.ZonedDateTime from the POF stream.
|
void |
registerIdentity(Object o)
Register an identity for a newly created user type instance.
|
void |
setPofContext(PofContext ctx)
Configure the PofContext object used by this PofReader to deserialize user types from a POF stream.
|
boolean readBoolean(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursbyte readByte(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurschar readChar(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursshort readShort(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursint readInt(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurslong readLong(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursfloat readFloat(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursdouble readDouble(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursboolean[] readBooleanArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursbyte[] readByteArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurschar[] readCharArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursshort[] readShortArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursint[] readIntArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurslong[] readLongArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursfloat[] readFloatArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursdouble[] readDoubleArray(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursBigInteger readBigInteger(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawQuad readRawQuad(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursBigDecimal readBigDecimal(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursBinary readBinary(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursString readString(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursDate readDate(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursLocalDate readLocalDate(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursLocalDateTime readLocalDateTime(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursLocalTime readLocalTime(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursOffsetDateTime readOffsetDateTime(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursOffsetTime readOffsetTime(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursdefault ZonedDateTime readZonedDateTime(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawDate readRawDate(int iProp) throws IOException
RawDate
class contains the raw date information that was carried in the POF stream.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawTime readRawTime(int iProp) throws IOException
RawTime
class contains the raw time information that was carried in the POF stream, including raw timezone information.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawDateTime readRawDateTime(int iProp) throws IOException
RawDateTime
class contains the raw date and time information that was carried in the POF stream, including raw timezone information.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawYearMonthInterval readRawYearMonthInterval(int iProp) throws IOException
RawYearMonthInterval
class contains the raw year-month interval information that was carried in the POF stream.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawTimeInterval readRawTimeInterval(int iProp) throws IOException
RawTimeInterval
class contains the raw time interval information that was carried in the POF stream.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursRawDayTimeInterval readRawDayTimeInterval(int iProp) throws IOException
RawDayTimeInterval
class contains the raw year-month interval information that was carried in the POF stream.iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs<T> T readObject(int iProp) throws IOException
iProp
- the property index to readIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs@Deprecated Object[] readObjectArray(int iProp, Object[] ao) throws IOException
iProp
- the property index to readao
- the optional array to use to store the values, or to use as a typed template for creating an array to store the values, following the documentation for Collection.toArray()
IllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs<T> T[] readArray(int iProp, IntFunction<T[]> supplier) throws IOException
iProp
- the property index to readsupplier
- the supplier to use to create the array, typically an array constructor reference (i.e. String[]::new
)IllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs<T> LongArray<T> readLongArray(int iProp, LongArray<T> array) throws IOException
iProp
- the property index to readarray
- the optional LongArray object to use to store the valuesIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs<T,C extends Collection<T>> C readCollection(int iProp, C coll) throws IOException
iProp
- the property index to readcoll
- the optional Collection to use to store the valuesIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occurs<K,V,M extends Map<K,V>> M readMap(int iProp, M map) throws IOException
iProp
- the property index to readmap
- the optional Map to initializeIllegalStateException
- if the POF stream has already advanced past the desired propertyIOException
- if an I/O error occursPofContext getPofContext()
void setPofContext(PofContext ctx)
Note: this is an advanced method that should be used with care. For example, if this method is being used to switch to another PofContext mid-POF stream, it is important to eventually restore the original PofContext. For example:
PofContext ctxOrig = reader.getPofContext(); try { // switch to another PofContext PofContext ctxNew = ...; reader.setContext(ctxNew); // read POF data using the reader } finally { // restore the original PofContext reader.setPofContext(ctxOrig); }
ctx
- the new PofContext; must not be nullint getUserTypeId()
int getVersionId()
IllegalStateException
- if no user type is being parsedvoid registerIdentity(Object o)
If identity/reference types are enabled, an identity is used to uniquely identify a user type instance within a POF stream. The identity immediately proceeds the instance value in the POF stream and can be used later in the stream to reference the instance.
PofSerializer implementations must call this method with the user type instance instantiated during deserialization prior to reading any properties of the instance which are user type instances themselves.
o
- the object to register the identity forPofSerializer.deserialize(PofReader)
PofReader createNestedPofReader(int iProp) throws IOException
iProp
- the property index to read fromIllegalStateException
- if the POF stream has already advanced past the desired property or if no user type is being parsed.IOException
- if an I/O error occursBinary readRemainder() throws IOException
Subsequent calls to the various readXYZ methods of this interface will fail after this method is called.
IllegalStateException
- if no user type is being parsedIOException
- if an I/O error occurs