Package com.tangosol.run.xml
Class ArrayAdapter
-
- All Implemented Interfaces:
Serializable
public class ArrayAdapter extends IterableAdapter
An ArrayAdapter supports properties of Java array types (not including arrays of primitive types).
Example of collection nested within collection tags:<property> <name>People</name> <xml-name>people</xml-name> <!-- defaults to <name> --> <type>com...Person[]</type> <!-- defaults via reflection --> <class>com...Person[]</class> <!-- defaults from <type> --> <sparse>true</sparse> <!-- defaults to false --> <empty-is-null>true</empty-is-null> <!-- defaults to false --> <element> <!-- optional --> <xml-name>person</xml-name> <!-- optional, nests the elements --> <type>com...Person</type> <!-- auto-set from <property><class> --> <adapter>...</adapter> <!-- optional --> <...> <!-- for the type-specific adapter --> </element> </property>
<doc> <people> <person> <...> </person> <person> <...> </person> ... </people> </doc>
- Version:
- 1.00 2001.03.18
- Author:
- cp
- See Also:
- Serialized Form
-
-
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.run.xml.IterableAdapter
m_fEmptyIsNull, m_fSparse, m_sElement
-
Fields inherited from class com.tangosol.run.xml.PropertyAdapter
m_clzType, m_fAttribute, m_infoBean, m_methodClone, m_methodGet, m_methodSet, m_sName, m_sNmsPrefix, m_sNmsUri, m_sXml, NOPARAMS
-
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 ArrayAdapter(XmlBean.BeanInfo infoBean, Class clzType, String sName, String sXml, XmlElement xml)
Construct a ArrayAdapter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone(Object o)
Make a clone of the passed object.boolean
equalsValue(Object o1, Object o2)
Compare the two passed objects for equality.int
hash(Object o)
compute a hash code for the passed object.boolean
isEmpty(Object o)
Determine if the specified value is empty.protected Object[]
readArray(DataInput in, int c)
Read an array of specified length from the passed DataInput object.protected Object
readElements(XmlElement xml)
Object
readExternal(DataInput in)
Read a value from the passed DataInput object.protected Object[]
readLargeArray(DataInput in, int c)
Read an array of property data with length larger thanExternalizableHelper.CHUNK_THRESHOLD
>> 4.protected void
writeElements(XmlElement xml, Object o)
void
writeExternal(DataOutput out, Object o)
Write the specified data to the passed DataOutput object.-
Methods inherited from class com.tangosol.run.xml.IterableAdapter
findAdapter, fromXml, getElementName, isCloneRequired, isEmptyIsNull, isNested, isSparse, toXml
-
Methods inherited from class com.tangosol.run.xml.PropertyAdapter
findAttribute, findElement, fromUri, get, getAccessor, getBeanInfo, getCloner, getElements, getLocalXmlName, getMutator, getName, getNamespacePrefix, getNamespaceUri, getType, getXmlName, isAnonymous, isAttribute, isElementMatch, readXml, set, setNamespacePrefix, toString, toUri, writeXml
-
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
-
ArrayAdapter
public ArrayAdapter(XmlBean.BeanInfo infoBean, Class clzType, String sName, String sXml, XmlElement xml)
Construct a ArrayAdapter.- Parameters:
infoBean
- BeanInfo for a bean containing this propertyclzType
- the type of the propertysName
- the property namesXml
- the XML tag namexml
- additional XML information
-
-
Method Detail
-
hash
public int hash(Object o)
compute a hash code for the passed object.- Overrides:
hash
in classPropertyAdapter
- Parameters:
o
- the object to compute a hash code for- Returns:
- an integer hash code
-
equalsValue
public boolean equalsValue(Object o1, Object o2)
Compare the two passed objects for equality.- Overrides:
equalsValue
in classPropertyAdapter
- Parameters:
o1
- the first objecto2
- the second object- Returns:
- true if the two objects are equal
-
clone
public Object clone(Object o)
Make a clone of the passed object.- Overrides:
clone
in classPropertyAdapter
- Parameters:
o
- the object to clone- Returns:
- a clone of the passed object
-
readElements
protected Object readElements(XmlElement xml)
- Specified by:
readElements
in classIterableAdapter
- Parameters:
xml
- the XML element containing the XML elements to deserialize from- Returns:
- the object deserialized from the XML (not null)
-
writeElements
protected void writeElements(XmlElement xml, Object o)
- Specified by:
writeElements
in classIterableAdapter
- Parameters:
xml
- the XML element to which the iterable elements are writteno
- the object to serialize (not null)
-
readExternal
public Object readExternal(DataInput in) throws IOException
Read a value from the passed DataInput object.- Overrides:
readExternal
in classPropertyAdapter
- Parameters:
in
- the DataInput stream to read property data from- Returns:
- the data read from the DataInput; never null
- Throws:
IOException
- if an I/O exception occurs
-
readArray
protected Object[] readArray(DataInput in, int c) throws IOException
Read an array of specified length from the passed DataInput object.- Parameters:
in
- the DataInput stream to read property data from- Returns:
- the data read from the DataInput; never null
- Throws:
IOException
- if an I/O exception occurs
-
readLargeArray
protected Object[] readLargeArray(DataInput in, int c) throws IOException
Read an array of property data with length larger thanExternalizableHelper.CHUNK_THRESHOLD
>> 4.- Parameters:
in
- the DataInput stream to read property data from- Returns:
- the data read from the DataInput; never null
- Throws:
IOException
- if an I/O exception occurs
-
writeExternal
public void writeExternal(DataOutput out, Object o) throws IOException
Write the specified data to the passed DataOutput object.- Overrides:
writeExternal
in classPropertyAdapter
- Parameters:
out
- the DataOutput stream to write too
- the data to write to the DataOutput; never null- Throws:
IOException
- if an I/O exception occurs
-
isEmpty
public boolean isEmpty(Object o)
Determine if the specified value is empty.- Overrides:
isEmpty
in classPropertyAdapter
- Parameters:
o
- the value- Returns:
- true if the object is considered to be empty for persistence and XML-generation purposes
-
-