public static class PofBufferWriter.UserTypeWriter extends PofBufferWriter
PofBufferWriter.ReferenceLibrary, PofBufferWriter.UserTypeWriter
PofHelper.ReadableEntrySetMap, PofHelper.WriteableEntrySetMap
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
protected WritingPofHandler.Complex |
m_complex
The Complex value that corresponds to the user type that is being
written.
|
protected boolean |
m_fUserTypeBegin
True iff the type and version identifier of the user type was
written to the POF stream.
|
protected boolean |
m_fUserTypeEnd
True iff the user type was written to the POF stream.
|
protected int |
m_iPrevProp
The index of the last property written to the POF stream or -1 if
the first property has yet to be written.
|
protected int |
m_iProp
The index of the user type being written.
|
protected int |
m_nId
The identity of the object to encode, or -1 if the identity
shouldn't be encoded in the POF stream
|
protected int |
m_nTypeId
The type identifier of the user type that is being written.
|
protected int |
m_nVersionId
The version identifier of the user type that is being written.
|
protected PofBufferWriter.UserTypeWriter |
m_writerNested
The currently open nested writer, if any.
|
m_ctx, m_fEvolvable, m_handler, m_out, m_refs
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 |
---|
UserTypeWriter(PofBufferWriter parent,
WriteBuffer.BufferOutput out,
PofContext ctx,
int nTypeId,
int iProp)
Construct a UserTypeWriter for writing the property values of a
user type.
|
UserTypeWriter(PofBufferWriter parent,
WritingPofHandler handler,
PofContext ctx,
int nTypeId,
int iProp)
Construct a UserTypeWriter for writing the property values of a
user type.
|
UserTypeWriter(PofBufferWriter parent,
WritingPofHandler handler,
PofContext ctx,
int nTypeId,
int iProp,
int nId)
Construct a UserTypeWriter for writing the property values of a
user type.
|
UserTypeWriter(WriteBuffer.BufferOutput out,
PofContext ctx,
int nTypeId,
int iProp)
Construct a UserTypeWriter for writing the property values of a
user type.
|
UserTypeWriter(WritingPofHandler handler,
PofContext ctx,
int nTypeId,
int iProp)
Construct a UserTypeWriter for writing the property values of a
user type.
|
Modifier and Type | Method and Description |
---|---|
protected void |
beginProperty(int iProp)
Report that a POF property is about to be written to the POF stream.
|
protected void |
closeNested()
Notify the UserTypeWriter that it is being "closed".
|
PofWriter |
createNestedPofWriter(int iProp)
Obtain a PofWriter that can be used to write a set of properties into
a single property of the current user type.
|
PofWriter |
createNestedPofWriter(int iProp,
int nTypeId)
Obtain a PofWriter that can be used to write a set of properties into
a single property of the current user type.
|
void |
enableReference()
Ensure that reference support (necessary for cyclic dependencies) is
enabled.
|
protected void |
endProperty(int iProp)
Signifies the termination of the current POF property.
|
protected PofBufferWriter |
getParentWriter()
If this writer is contextually within a user type, obtain the writer
which created this writer in order to write the user type.
|
int |
getUserTypeId()
Determine the user type that is currently being written.
|
int |
getVersionId()
Determine the version identifier of the user type that is currently
being written.
|
protected boolean |
isEvolvable()
Determine if the object to be written is either Evolvable or part of an
Evolvable object.
|
protected void |
onException(Exception e)
Called when an unexpected exception is caught while writing to the POF
stream.
|
void |
setVersionId(int nVersionId)
Set the version identifier of the user type that is currently being
written.
|
void |
writeRemainder(Binary binProps)
Write the remaining properties to the POF stream, terminating the
writing of the current user type.
|
protected void |
writeUserTypeInfo()
Write out the type and version identifiers of the user type to the
POF stream, if they haven't already been written.
|
assertEqual, fixNanos, getBufferOutput, getNanos, getPofContext, getPofHandler, isReferenceEnabled, main, setEvolvable, setPofContext, writeBigDecimal, writeBigInteger, writeBinary, writeBoolean, writeBoolean, writeBooleanArray, writeByte, writeByte, writeByteArray, writeChar, writeChar, writeCharArray, writeCollection, writeCollection, writeDate, writeDate, writeDateTime, writeDateTime, writeDateTime, writeDateTimeWithZone, writeDateTimeWithZone, writeDateTimeWithZone, writeDouble, writeDouble, writeDoubleArray, writeFloat, writeFloat, writeFloatArray, writeInt, writeInt, writeIntArray, writeLong, writeLong, writeLongArray, writeLongArray, writeLongArray, writeMap, writeMap, writeMap, writeObject, writeObjectArray, writeObjectArray, writeOptional, writeOptionalDouble, writeOptionalInt, writeOptionalLong, writeRawDate, writeRawDateTime, writeRawDayTimeInterval, writeRawQuad, writeRawTime, writeRawTimeInterval, writeRawYearMonthInterval, writeShort, writeShort, writeShortArray, writeString, writeTime, writeTime, writeTime, writeTimeWithZone, writeTimeWithZone, writeTimeWithZone, writeUserType
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
writeDateTimeWithZone
protected int m_nTypeId
protected int m_nVersionId
protected int m_iProp
protected int m_nId
protected int m_iPrevProp
protected boolean m_fUserTypeBegin
protected boolean m_fUserTypeEnd
protected WritingPofHandler.Complex m_complex
protected PofBufferWriter.UserTypeWriter m_writerNested
public UserTypeWriter(WriteBuffer.BufferOutput out, PofContext ctx, int nTypeId, int iProp)
out
- the BufferOutput object to write to; must not be
nullctx
- the PofContext to use for writing the user type
property values within the user type that this
writer will be writingnTypeId
- the type identifier of the user type; must be
non-negativeiProp
- the index of the user type being writtenpublic UserTypeWriter(PofBufferWriter parent, WriteBuffer.BufferOutput out, PofContext ctx, int nTypeId, int iProp)
parent
- the containing PofBufferWriterout
- the BufferOutput object to write to; must not be
nullctx
- the PofContext to use for writing the user type
property values within the user type that this
writer will be writingnTypeId
- the type identifier of the user type; must be
non-negativeiProp
- the index of the user type being writtenpublic UserTypeWriter(WritingPofHandler handler, PofContext ctx, int nTypeId, int iProp)
handler
- the WritingPofHandler used to write user type data
(except for the user type id itself, which is
passed as a constructor argument)ctx
- the PofContext to use for writing the user type
property values within the user type that this
writer will be writingnTypeId
- the type identifier of the user type; must be
non-negativeiProp
- the index of the user type being writtenpublic UserTypeWriter(PofBufferWriter parent, WritingPofHandler handler, PofContext ctx, int nTypeId, int iProp)
parent
- the containing PofBufferWriterhandler
- the WritingPofHandler used to write user type data
(except for the user type id itself, which is
passed as a constructor argument)ctx
- the PofContext to use for writing the user type
property values within the user type that this
writer will be writingnTypeId
- the type identifier of the user type; must be
non-negativeiProp
- the index of the user type being writtenpublic UserTypeWriter(PofBufferWriter parent, WritingPofHandler handler, PofContext ctx, int nTypeId, int iProp, int nId)
parent
- the containing PofBufferWriterhandler
- the WritingPofHandler used to write user type data
(except for the user type id itself, which is
passed as a constructor argument)ctx
- the PofContext to use for writing the user type
property values within the user type that this
writer will be writingnTypeId
- the type identifier of the user type; must be
non-negativeiProp
- the index of the user type being writtennId
- the identity of the object to encode, or -1 if the
identity shouldn't be encoded in the POF streampublic int getUserTypeId()
getUserTypeId
in interface PofWriter
getUserTypeId
in class PofBufferWriter
public int getVersionId()
getVersionId
in interface PofWriter
getVersionId
in class PofBufferWriter
public void setVersionId(int nVersionId)
setVersionId
in interface PofWriter
setVersionId
in class PofBufferWriter
nVersionId
- the user type identifier; must be non-negativepublic PofWriter createNestedPofWriter(int iProp) throws IOException
createNestedPofWriter
in interface PofWriter
createNestedPofWriter
in class PofBufferWriter
iProp
- the property indexIOException
- if an I/O error occurspublic PofWriter createNestedPofWriter(int iProp, int nTypeId) throws IOException
createNestedPofWriter
in interface PofWriter
createNestedPofWriter
in class PofBufferWriter
iProp
- the property indexnTypeId
- the type identifier of the nested propertyIOException
- if an I/O error occurspublic void writeRemainder(Binary binProps) throws IOException
Calling this method terminates the current user type by writing a -1 to the POF stream after the last indexed property. Subsequent calls to the various writeXYZ methods of this interface will fail after this method is called.
writeRemainder
in interface PofWriter
writeRemainder
in class PofBufferWriter
binProps
- a Binary object containing zero or more indexed
properties in binary POF encoded form; may be nullIOException
- if an I/O error occursprotected PofBufferWriter getParentWriter()
getParentWriter
in class PofBufferWriter
protected void beginProperty(int iProp) throws IOException
This method call will be followed by one or more separate calls to a
"write" method and the property extent will then be terminated by a
call to PofBufferWriter.endProperty(int)
.
beginProperty
in class PofBufferWriter
iProp
- the index of the property being writtenIOException
- if an I/O error occursprotected void endProperty(int iProp)
endProperty
in class PofBufferWriter
iProp
- the index of the current propertyprotected void closeNested()
protected void onException(Exception e) throws IOException
If the given exception wraps an IOException, the IOException is unwrapped and rethrown; otherwise the given exception is rethrown.
onException
in class PofBufferWriter
e
- the exceptionIOException
- the wrapped IOException, if the given exception is
a wrapped IOExceptionprotected void writeUserTypeInfo() throws IOException
IOException
- on I/O errorpublic void enableReference()
enableReference
in class PofBufferWriter
protected boolean isEvolvable()
isEvolvable
in class PofBufferWriter