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).
    
     <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>
     
    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:
    Serialized Form
    • 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 property
        clzType - the type of the property
        sName - the property name
        sXml - the XML tag name
        xml - additional XML information
    • Method Detail

      • hash

        public int hash​(Object o)
        compute a hash code for the passed object.
        Overrides:
        hash in class PropertyAdapter
        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 class PropertyAdapter
        Parameters:
        o1 - the first object
        o2 - 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 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
      • 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
      • 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