Package com.tangosol.io.pof.reflect
Class ComplexPofValue
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.io.pof.reflect.AbstractPofValue
com.tangosol.io.pof.reflect.ComplexPofValue
- All Implemented Interfaces:
PofValue
- Direct Known Subclasses:
PofArray
,PofSparseArray
An abstract base class for complex POF types, such as collections, arrays,
maps, and user types.
- Since:
- Coherence 3.5
- Author:
- as 2009.02.12
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.ExternalizableHelper
ExternalizableHelper.DecoratedMultiBufferReadBuffer, ExternalizableHelper.DefaultObjectStreamFactory, ExternalizableHelper.FormatAwareCompressor, ExternalizableHelper.IntDecoratedObject, ExternalizableHelper.Shielded, ExternalizableHelper.ShieldedDataOutputStream, ExternalizableHelper.ShieldedInputStream, ExternalizableHelper.ShieldedObjectOutputStream, ExternalizableHelper.ShieldedOutputStream, ExternalizableHelper.SimpleXmlBeanClassCache, ExternalizableHelper.Stats, ExternalizableHelper.XmlBeanClassCache
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
Fields inherited from class com.tangosol.io.pof.reflect.AbstractPofValue
m_arrayRefs, m_nType, m_oValue
Fields inherited from class com.tangosol.util.ExternalizableHelper
BINARY_SIZE, CHUNK_SIZE, CHUNK_THRESHOLD, CONVERTER_FROM_BINARY, CONVERTER_STRIP_INTDECO, CONVERTER_TO_BINARY, DECO_APP_1, DECO_APP_2, DECO_APP_3, DECO_BACKUP, DECO_CUSTOM, DECO_EXPIRY, DECO_ID_MAX, DECO_ID_MIN, DECO_JCACHE, DECO_JCACHE_SYNTHETIC, DECO_MEMCACHED, DECO_PUSHREP, DECO_QUEUE_METADATA, DECO_RSVD_1, DECO_STORE, DECO_TX, DECO_VALUE, DECO_WLS, EMPTY_BINARY_ARRAY, FMT_B_ARRAY, FMT_BIN_DECO, FMT_BIN_EXT_DECO, FMT_BINARY, FMT_BOOLEAN, FMT_BYTE, FMT_DECIMAL, FMT_DOUBLE, FMT_EXT, FMT_FLOAT, FMT_IDO, FMT_INT, FMT_INTEGER, FMT_LONG, FMT_NONE, FMT_NULL, FMT_OBJ_EXT, FMT_OBJ_SER, FMT_OPT, FMT_OPT_DOUBLE, FMT_OPT_INT, FMT_OPT_LONG, FMT_SHORT, FMT_STRING, FMT_UNKNOWN, FMT_XML_BEAN, FMT_XML_SER, FORCE_RESOLVING_STREAMS, LAMBDA_SERIALIZATION, MAX_DECO_HEADER_BYTES, PACKED_INT_SIZE, PACKED_LONG_SIZE, PROPERTY_CONFIG, s_streamfactory, TRINT_DOMAIN_SPAN, TRINT_MAX_VALUE, TRINT_MAX_VARIANCE, USE_POF_STREAMS, USE_XMLBEAN_CLASS_CACHE, XMLBEAN_CLASS_CACHE
-
Constructor Summary
ConstructorDescriptionComplexPofValue
(PofValue valueParent, ReadBuffer bufValue, PofContext ctx, int of, int nType, int ofChildren) Construct a PofValue instance wrapping the supplied buffer. -
Method Summary
Modifier and TypeMethodDescriptionprotected PofValue
extractChild
(ReadBuffer buf, int of, int cb) Extract child PofValue from a buffer.protected PofValue
findChild
(int nIndex) Find the child value with the specified index.protected abstract PofValue
findChildInternal
(int nIndex, int ofStart, int iStart) Find the child value with the specified index.getChild
(int nIndex) Locate a child PofValue contained within this PofValue.Return an iterator over all parsed child values.protected int
getLastChildIndex
(int nIndex) Return index of the last parsed child with an index lower than the specified one.protected int
Return the uniform element type (if this is a uniform collection).protected boolean
Return true if this complex value is encoded as one of uniform collection types.protected void
setUniformElementType
(int nElementType) Set the uniform element type for this collection.protected void
Skip a single child value.Methods inherited from class com.tangosol.io.pof.reflect.AbstractPofValue
applyChanges, ensureReferenceRegistry, getBigDecimal, getBigInteger, getBoolean, getBooleanArray, getByte, getByteArray, getChanges, getChar, getCharArray, getCollection, getDate, getDirtyBytesCount, getDouble, getDoubleArray, getFloat, getFloatArray, getInt, getIntArray, getLong, getLongArray, getMap, getObjectArray, getOffset, getOriginalBuffer, getParent, getPofContext, getPropertyIndex, getRoot, getSerializedValue, getShort, getShortArray, getSize, getString, getTypeId, getValue, getValue, getValue, getValueBuffer, incrementDirtyBytesCount, incrementDirtyValuesCount, isDirty, isRoot, isUniformEncoded, lookupIdentity, registerIdentity, setDecorations, setDirty, setOriginalBuffer, setUniformEncoded, setValue
Methods inherited from class com.tangosol.util.ExternalizableHelper
asBinary, calculatePackedLength, calculatePackedLength, checkObjectInputFilter, checkObjectInputFilter, checkObjectInputFilter, convertUTF, decodeExpiry, decorate, decorate, decorate, decorate, decorate, decorateBinary, encodeExpiry, ensureSerializer, extractIntDecoration, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromBinary, fromByteArray, fromByteArray, getClass, getConfigSerialFilter, getConfigSerialFilterFactory, getDecoration, getDecoration, getDecorations, getDeltaCompressor, getInputStream, getNewObjectInput, getObjectInput, getObjectInputFilter, getObjectOutput, getObjectStreamFactory, getOutputStream, getShieldedOutputStream, getStreamFormat, getUndecorated, getUndecorated, isDecorated, isDecorated, isIntDecorated, isIntDecorated, isResolving, isSerializable, isSerializerCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, loadClass, loadResource, main, makeTrint, readBigDecimal, readBigInteger, readBooleanArray, readBooleanArray, readByteArray, readCharArray, readCharArray, readCollection, readDate, readDoubleArray, readDoubleArray, readExternalizableLite, readExternalizableLite, readFloatArray, readFloatArray, readInt, readInt, readIntArray, readIntArray, readIntArray2d, readLargeBooleanArray, readLargeByteArray, readLargeCharArray, readLargeDoubleArray, readLargeFloatArray, readLargeIntArray, readLargeLongArray, readLargeObjectArray, readLargeStringArray, readLong, readLong, readLongArray, readLongArray, readMap, readMap, readObject, readObject, readObjectArray, readObjectArray, readSafeUTF, readSafeUTF, readSerializable, readSerializable, readStringArray, readStringArray, readTime, readTimestamp, readTrint, readUnsignedTrint, readUTF, readXmlBean, readXmlSerializable, readXmlSerializable, realize, removeIntDecoration, removeIntDecoration, replace, reportIncompatibleSerializers, setObjectStreamFactory, toBinary, toBinary, toBinary, toByteArray, toByteArray, toByteArray, toLiteBinary, toLong, undecorate, undecorate, validateBufferSize, validateLoadArray, validateLoadClass, writeBigDecimal, writeBigInteger, writeBooleanArray, writeByteArray, writeCollection, writeDate, writeDoubleArray, writeExternalizableLite, writeFloatArray, writeInt, writeInt, writeIntArray2d, writeLong, writeLong, writeMap, writeObject, writeSafeUTF, writeSafeUTF, writeSerializable, writeStringArray, writeTime, writeTimestamp, writeTrint, writeTrint, writeUTF, writeXmlBean, writeXmlSerializable
Methods inherited from class com.tangosol.util.BitHelper
countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString, toBytes, toBytes, toBytes, toBytes, toInt, toInt, toLong
Methods inherited from class com.tangosol.util.Base
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, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, 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
-
Constructor Details
-
ComplexPofValue
public ComplexPofValue(PofValue valueParent, ReadBuffer bufValue, PofContext ctx, int of, int nType, int ofChildren) Construct a PofValue instance wrapping the supplied buffer.- Parameters:
valueParent
- parent value within the POF streambufValue
- buffer containing POF representation of this valuectx
- POF context to use when reading or writing propertiesof
- offset of this value from the beginning of POF streamnType
- POF type identifier for this valueofChildren
- offset of the first child element within this value
-
-
Method Details
-
getChild
Locate a child PofValue contained within this PofValue.Note: the returned PofValue could represent a non-existent (null) value.
- Parameters:
nIndex
- index of the child value- Returns:
- the child PofValue
-
getChildrenIterator
Return an iterator over all parsed child values.- Returns:
- a children iterator
-
getUniformElementType
protected int getUniformElementType()Return the uniform element type (if this is a uniform collection).- Returns:
- uniform element type, or
PofConstants.T_UNKNOWN
if this is not a uniform collection
-
setUniformElementType
protected void setUniformElementType(int nElementType) Set the uniform element type for this collection.- Parameters:
nElementType
- uniform element type
-
findChild
Find the child value with the specified index.- Parameters:
nIndex
- index of the child value to find- Returns:
- the child value
-
getLastChildIndex
protected int getLastChildIndex(int nIndex) Return index of the last parsed child with an index lower than the specified one.- Parameters:
nIndex
- index to find the preceding child index for- Returns:
- index of the last parsed child, or -1 if one does not exist
-
isUniformCollection
protected boolean isUniformCollection()Return true if this complex value is encoded as one of uniform collection types.- Returns:
- true if this is a uniform collection
-
skipChild
Skip a single child value.- Parameters:
in
- buffer input containing child values- Throws:
IOException
- if an I/O error occurs
-
extractChild
Extract child PofValue from a buffer.- Parameters:
buf
- parent buffer to extract the child fromof
- offset of the child within the parent buffercb
- length of the child in bytes- Returns:
- extracted PofValue
-
findChildInternal
Find the child value with the specified index.- Parameters:
nIndex
- index of the child value to findofStart
- offset within the parent buffer to start search fromiStart
- index of the child value to start search from- Returns:
- the child value
-