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 PofValueextractChild(ReadBuffer buf, int of, int cb)Extract child PofValue from a buffer.protected PofValuefindChild(int nIndex)Find the child value with the specified index.protected abstract PofValuefindChildInternal(int nIndex, int ofStart, int iStart)Find the child value with the specified index.PofValuegetChild(int nIndex)Locate a child PofValue contained within this PofValue.IteratorgetChildrenIterator()Return an iterator over all parsed child values.protected intgetLastChildIndex(int nIndex)Return index of the last parsed child with an index lower than the specified one.protected intgetUniformElementType()Return the uniform element type (if this is a uniform collection).protected booleanisUniformCollection()Return true if this complex value is encoded as one of uniform collection types.protected voidsetUniformElementType(int nElementType)Set the uniform element type for this collection.protected voidskipChild(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, newHashMap, newHashMap, newHashSet, newHashSet, 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_UNKNOWNif 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
-
-