public static class PofBufferReader.UserTypeReader extends PofBufferReader
PofBufferReader.IdentityHolder, PofBufferReader.UserTypeReader
PofHelper.ReadableEntrySetMap, PofHelper.WriteableEntrySetMap
Base.LoggingWriter, Base.StackFrame
m_arrayRefs, m_ctx, m_in
BIGDECIMAL_ZERO, BIGINTEGER_MAX_LONG, BIGINTEGER_MIN_LONG, BINARY_EMPTY, BOOLEAN_ARRAY_EMPTY, BYTE_ARRAY_EMPTY, CHAR_ARRAY_EMPTY, COLLECTION_EMPTY, DOUBLE_ARRAY_EMPTY, FLOAT_ARRAY_EMPTY, INT_ARRAY_EMPTY, LONG_ARRAY_EMPTY, OBJECT_ARRAY_EMPTY, SHORT_ARRAY_EMPTY
LOG_ALWAYS, LOG_DEBUG, LOG_ERR, LOG_INFO, LOG_MAX, LOG_MIN, LOG_QUIET, LOG_WARN, POWER_0, POWER_G, POWER_K, POWER_M, POWER_T, UNIT_D, UNIT_H, UNIT_M, UNIT_MS, UNIT_NS, UNIT_S, UNIT_US
J_BIG_DECIMAL, J_BIG_INTEGER, J_BINARY, J_BOOLEAN, J_BOOLEAN_ARRAY, J_BYTE, J_BYTE_ARRAY, J_CHAR_ARRAY, J_CHARACTER, J_COLLECTION, J_DATE, J_DATETIME, J_DOUBLE, J_DOUBLE_ARRAY, J_FLOAT, J_FLOAT_ARRAY, J_INT_ARRAY, J_INTEGER, J_LOCAL_DATE, J_LOCAL_DATETIME, J_LOCAL_TIME, J_LONG, J_LONG_ARRAY, J_MAP, J_NULL, J_OBJECT_ARRAY, J_OFFSET_DATETIME, J_OFFSET_TIME, J_QUAD, J_RAW_DATE, J_RAW_DATETIME, J_RAW_DAY_TIME_INTERVAL, J_RAW_TIME, J_RAW_TIME_INTERVAL, J_RAW_YEAR_MONTH_INTERVAL, J_SHORT, J_SHORT_ARRAY, J_SPARSE_ARRAY, J_STRING, J_TIME, J_TIMESTAMP, J_USER_TYPE, J_ZONED_DATETIME, MAX_DECIMAL128_SCALE, MAX_DECIMAL128_UNSCALED, MAX_DECIMAL32_SCALE, MAX_DECIMAL32_UNSCALED, MAX_DECIMAL64_SCALE, MAX_DECIMAL64_UNSCALED, MIN_DECIMAL128_SCALE, MIN_DECIMAL32_SCALE, MIN_DECIMAL64_SCALE, T_ARRAY, T_BOOLEAN, T_CHAR, T_CHAR_STRING, T_COLLECTION, T_DATE, T_DATETIME, T_DAY_TIME_INTERVAL, T_DECIMAL128, T_DECIMAL32, T_DECIMAL64, T_FLOAT128, T_FLOAT32, T_FLOAT64, T_IDENTITY, T_INT128, T_INT16, T_INT32, T_INT64, T_MAP, T_OCTET, T_OCTET_STRING, T_REFERENCE, T_SPARSE_ARRAY, T_TIME, T_TIME_INTERVAL, T_UNIFORM_ARRAY, T_UNIFORM_COLLECTION, T_UNIFORM_KEYS_MAP, T_UNIFORM_MAP, T_UNIFORM_SPARSE_ARRAY, T_UNKNOWN, T_YEAR_MONTH_INTERVAL, V_BOOLEAN_FALSE, V_BOOLEAN_TRUE, V_COLLECTION_EMPTY, V_FP_NAN, V_FP_NEG_INFINITY, V_FP_POS_INFINITY, V_INT_0, V_INT_1, V_INT_10, V_INT_11, V_INT_12, V_INT_13, V_INT_14, V_INT_15, V_INT_16, V_INT_17, V_INT_18, V_INT_19, V_INT_2, V_INT_20, V_INT_21, V_INT_22, V_INT_3, V_INT_4, V_INT_5, V_INT_6, V_INT_7, V_INT_8, V_INT_9, V_INT_NEG_1, V_REFERENCE_NULL, V_STRING_ZERO_LENGTH
Constructor and Description |
---|
UserTypeReader(PofBufferReader parent,
ReadBuffer.BufferInput in,
PofContext ctx,
int nTypeId,
int nVersionId)
Construct a parser for parsing the property values of a user type.
|
UserTypeReader(ReadBuffer.BufferInput in,
PofContext ctx,
int nTypeId,
int nVersionId)
Construct a parser for parsing the property values of a user type.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
advanceTo(int iProp)
Advance through the POF stream until the specified property is found.
|
protected void |
closeNested()
Notify the UserTypeReader that it is being "closed".
|
protected void |
complete(int iProp)
Register the completion of the parsing of a value.
|
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.
|
int |
getNextPropertyIndex()
Return the index of the next property in the POF stream.
|
protected PofBufferReader |
getParentParser()
If this parser is contextually within a user type, obtain the parser
which created this parser in order to parse the user type.
|
int |
getPreviousPropertyIndex()
Return the index of the most recent property read or (if it were
missing) requested.
|
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.
|
Binary |
readRemainder()
Read all remaining indexed properties of the current user type from the
POF stream.
|
void |
registerIdentity(Object o)
Register an identity for a newly created user type instance.
|
ensureReferenceRegistry, getPofContext, lookupIdentity, readArray, readAsObject, readAsObjectArray, readAsTypedObjectArray, readAsUniformObject, readBigDecimal, readBigInteger, readBinary, readBinary, readBoolean, readBooleanArray, readByte, readByteArray, readChar, readCharArray, readCollection, readDate, readDouble, readDoubleArray, readFloat, readFloatArray, readInt, readIntArray, readLocalDate, readLocalDateTime, readLocalTime, readLong, readLongArray, readLongArray, readMap, readObject, readObjectArray, readOffsetDateTime, readOffsetTime, readRawDate, readRawDateTime, readRawDayTimeInterval, readRawQuad, readRawTime, readRawTimeInterval, readRawYearMonthInterval, readShort, readShortArray, readString, registerIdentity, setPofContext
calcDecimalSize, checkDate, checkDayTimeInterval, checkDecimalRange, checkElementCount, checkReferenceRange, checkTime, checkTimeInterval, checkTimeZone, checkType, checkYearMonthInterval, convertNumber, convertToDate, decodeTinyInt, encodeTinyInt, formatDate, formatTime, formatTime, getJavaTypeId, getPofTypeId, isIntrinsicPofType, readAsBigDecimal, readAsBigInteger, readAsChar, readAsDouble, readAsFloat, readAsInt, readAsLong, readAsQuad, readBigDecimal, readBigInteger, readChar, readLocalDate, readLocalDateTime, readLocalTime, readOffsetDateTime, readOffsetTime, readQuad, readRawDate, readRawTime, resizeArray, skipPackedInts, skipUniformValue, skipValue, writeBigDecimal, writeBigInteger, writeDate, writeTime
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
readZonedDateTime
public UserTypeReader(ReadBuffer.BufferInput in, PofContext ctx, int nTypeId, int nVersionId) throws IOException
in
- the BufferInput that contains the user type
data, except for the user type id itself (which
is passed passed as a constructor argument)ctx
- the PofContext to use for parsing the user type
property values within the user type that this
parser will be parsingnTypeId
- the type id of the user typenVersionId
- the version id of the user typeIOException
- if an I/O error occurspublic UserTypeReader(PofBufferReader parent, ReadBuffer.BufferInput in, PofContext ctx, int nTypeId, int nVersionId) throws IOException
parent
- the parent (ie the containing) PofBufferReaderin
- the BufferInput that contains the user type
data, except for the user type id itself (which
is passed passed as a constructor argument)ctx
- the PofContext to use for parsing the user type
property values within the user type that this
parser will be parsingnTypeId
- the type id of the user typenVersionId
- the version id of the user typeIOException
- if an I/O error occurspublic int getUserTypeId()
getUserTypeId
in interface PofReader
getUserTypeId
in class PofBufferReader
public int getVersionId()
getVersionId
in interface PofReader
getVersionId
in class PofBufferReader
public void 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.
registerIdentity
in interface PofReader
registerIdentity
in class PofBufferReader
o
- the object to register the identity forPofSerializer.deserialize(PofReader)
public PofReader createNestedPofReader(int iProp) throws IOException
createNestedPofReader
in interface PofReader
createNestedPofReader
in class PofBufferReader
iProp
- the property index to read fromIOException
- if an I/O error occurspublic Binary readRemainder() throws IOException
Subsequent calls to the various readXYZ methods of this interface will fail after this method is called.
readRemainder
in interface PofReader
readRemainder
in class PofBufferReader
IOException
- if an I/O error occurspublic int getPreviousPropertyIndex()
public int getNextPropertyIndex() throws IOException
IOException
- if an I/O error occursprotected boolean advanceTo(int iProp) throws IOException
advanceTo
in class PofBufferReader
iProp
- the index of the property to advance toIOException
- if an I/O error occursprotected void complete(int iProp) throws IOException
complete
in class PofBufferReader
iProp
- the property indexIOException
- if an I/O error occursprotected void closeNested() throws IOException
IOException
- if an I/O error occursprotected PofBufferReader getParentParser()
getParentParser
in class PofBufferReader