Oracle® Coherence Java API Reference
v3.5.3

E15583-01

com.tangosol.run.xml
Class CollectionAdapter

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.BitHelper
          extended by com.tangosol.util.ExternalizableHelper
              extended by com.tangosol.run.xml.PropertyAdapter
                  extended by com.tangosol.run.xml.IterableAdapter
                      extended by com.tangosol.run.xml.CollectionAdapter
All Implemented Interfaces:
java.io.Serializable

public class CollectionAdapter
extends IterableAdapter

A CollectionAdapter supports properties whose types implement the java.util.Collection interface.


 <property>
   <name>People</name>
   <xml-name>people</xml-name>         <!-- defaults to <name> -->
   <type>java.util.Collection</type>   <!-- defaults via reflection -->
   <class>java.util.LinkedList</class> <!-- defaults to <type> -->
   <empty-is-null>true</empty-is-null> <!-- defaults to false -->
   <element>
     <xml-name>person</xml-name>       <!-- optional, nests the elements -->
     <type>com...PersonBean</type>     <!-- required -->
     <adapter>...</adapter>            <!-- optional -->
     <...>                             <!-- for the type-specific adapter -->
   </element>
 </property>
 
Example of collection nested within collection tags:

   <doc>
     <people>
       <person>
         <...>
       </person>
       <person>
         <...>
       </person>
       ...
     </people>
   </doc>
 

Version:
1.00 2001.03.18
Author:
cp

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
 
Constructor Summary
CollectionAdapter(XmlBean.BeanInfo infoBean, java.lang.Class clzType, java.lang.String sName, java.lang.String sXml, XmlElement xml)
          Construct a CollectionAdapter.
 
Method Summary
 java.lang.Object clone(java.lang.Object o)
          Make a clone of the passed object.
 PropertyAdapter getElementAdapter()
           
protected  java.util.Collection instantiateCollection()
           
 boolean isEmpty(java.lang.Object o)
          Determine if the specified value is empty.
protected  java.lang.Object readElements(XmlElement xml)
           
 java.lang.Object readExternal(java.io.DataInput in)
          Read a value from the passed DataInput object.
protected  void writeElements(XmlElement xml, java.lang.Object o)
           
 void writeExternal(java.io.DataOutput out, java.lang.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
equalsValue, findAttribute, findElement, fromUri, get, getAccessor, getBeanInfo, getCloner, getElements, getLocalXmlName, getMutator, getName, getNamespacePrefix, getNamespaceUri, getType, getXmlName, hash, isAnonymous, isAttribute, isElementMatch, readXml, set, setNamespacePrefix, toString, toUri, writeXml
 
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
 

Constructor Detail

CollectionAdapter

public CollectionAdapter(XmlBean.BeanInfo infoBean,
                         java.lang.Class clzType,
                         java.lang.String sName,
                         java.lang.String sXml,
                         XmlElement xml)
Construct a CollectionAdapter.

Parameters:
infoBean - BeanInfo for a bean containing this property
clzType - the type of the property
sName - the property name
sXml - the XML tag name
xml - additional XML information
Method Detail

clone

public java.lang.Object clone(java.lang.Object o)
Make a clone of the passed object.

Overrides:
clone in class PropertyAdapter
Parameters:
o - the object to clone
Returns:
a clone of the passed object

readElements

protected java.lang.Object readElements(XmlElement xml)
Specified by:
readElements in class IterableAdapter
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,
                             java.lang.Object o)
Specified by:
writeElements in class IterableAdapter
Parameters:
xml - the XML element to which the iterable elements are written
o - the object to serialize (not null)

readExternal

public java.lang.Object readExternal(java.io.DataInput in)
                              throws java.io.IOException
Read a value from the passed DataInput object.

Overrides:
readExternal in class PropertyAdapter
Parameters:
in - the DataInput stream to read property data from
Returns:
the data read from the DataInput; never null
Throws:
java.io.IOException - if an I/O exception occurs

writeExternal

public void writeExternal(java.io.DataOutput out,
                          java.lang.Object o)
                   throws java.io.IOException
Write the specified data to the passed DataOutput object.

Overrides:
writeExternal in class PropertyAdapter
Parameters:
out - the DataOutput stream to write to
o - the data to write to the DataOutput; never null
Throws:
java.io.IOException - if an I/O exception occurs

isEmpty

public boolean isEmpty(java.lang.Object o)
Determine if the specified value is empty.

Overrides:
isEmpty in class PropertyAdapter
Parameters:
o - the value
Returns:
true if the object is considered to be empty for persistence and XML-generation purposes

getElementAdapter

public PropertyAdapter getElementAdapter()
Returns:
a PropertyAdapter for collection elements

instantiateCollection

protected java.util.Collection instantiateCollection()
Returns:
a new Collection instance

Oracle® Coherence Java API Reference
v3.5.3

E15583-01

Copyright © 2000, 2010, Oracle. All rights reserved.