Class CollectionAdapter

All Implemented Interfaces:
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
See Also:
  • Constructor Details

    • CollectionAdapter

      public CollectionAdapter(XmlBean.BeanInfo infoBean, Class clzType, String sName, 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 Details

    • clone

      public Object clone(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 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, 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 Object readExternal(DataInput in) throws 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:
      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 class PropertyAdapter
      Parameters:
      out - the DataOutput stream to write to
      o - 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 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 Collection instantiateCollection()
      Returns:
      a new Collection instance