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
public abstract class ComplexPofValue extends AbstractPofValue
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
Constructors Constructor Description ComplexPofValue(PofValue valueParent, ReadBuffer bufValue, PofContext ctx, int of, int nType, int ofChildren)
Construct a PofValue instance wrapping the supplied buffer.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected 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.PofValue
getChild(int nIndex)
Locate a child PofValue contained within this PofValue.Iterator
getChildrenIterator()
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
getUniformElementType()
Return the uniform element type (if this is a uniform collection).protected boolean
isUniformCollection()
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
skipChild(ReadBuffer.BufferInput in)
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, isPatchCompatible, isPatchCompatible, isResolving, isSerializable, isSerializerCompatible, isVersionCompatible, isVersionCompatible, 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 Detail
-
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 Detail
-
getChild
public PofValue getChild(int nIndex)
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
public Iterator 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
protected PofValue findChild(int nIndex)
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
protected void skipChild(ReadBuffer.BufferInput in) throws IOException
Skip a single child value.- Parameters:
in
- buffer input containing child values- Throws:
IOException
- if an I/O error occurs
-
extractChild
protected PofValue extractChild(ReadBuffer buf, int of, int cb)
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
protected abstract PofValue findChildInternal(int nIndex, int ofStart, int iStart)
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
-
-