Class CompositeValue

java.lang.Object
org.simpleframework.xml.core.CompositeValue
All Implemented Interfaces:
Converter

class CompositeValue extends Object implements Converter
The CompositeValue object is used to convert an object to an from an XML element. This accepts only composite objects and will maintain all references within the object using the cycle strategy if required. This also ensures that should the value to be written to the XML element be null that nothing is written.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Context
    This is the context used to support the serialization process.
    private final Entry
    This is the entry object used to provide configuration details.
    private final Traverser
    This is the traverser used to read and write the value with.
    private final Style
    This is the style used to style the names used for the XML.
    private final Type
    This represents the type of object the value is written as.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CompositeValue(Context context, Entry entry, Type type)
    Constructor for the CompositeValue object.
  • Method Summary

    Modifier and Type
    Method
    Description
    This method is used to read the value object from the node.
    read(InputNode node, Object value)
    This method is used to read the value object from the node.
    boolean
    This method is used to read the value object from the node.
    private boolean
    This method is used to read the value object from the node.
    void
    write(OutputNode node, Object item)
    This method is used to write the value to the specified node.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • context

      private final Context context
      This is the context used to support the serialization process.
    • root

      private final Traverser root
      This is the traverser used to read and write the value with.
    • style

      private final Style style
      This is the style used to style the names used for the XML.
    • entry

      private final Entry entry
      This is the entry object used to provide configuration details.
    • type

      private final Type type
      This represents the type of object the value is written as.
  • Constructor Details

    • CompositeValue

      public CompositeValue(Context context, Entry entry, Type type) throws Exception
      Constructor for the CompositeValue object. This will create an object capable of reading an writing composite values from an XML element. This also allows a parent element to be created to wrap the key object if desired.
      Parameters:
      context - this is the root context for the serialization
      entry - this is the entry object used for configuration
      type - this is the type of object the value represents
      Throws:
      Exception
  • Method Details

    • read

      public Object read(InputNode node) throws Exception
      This method is used to read the value object from the node. The value read from the node is resolved using the template filter. If the value data can not be found according to the annotation attributes then null is assumed and returned.
      Specified by:
      read in interface Converter
      Parameters:
      node - this is the node to read the value object from
      Returns:
      this returns the value deserialized from the node
      Throws:
      Exception - if a deserialized type cannot be instantiated
    • read

      public Object read(InputNode node, Object value) throws Exception
      This method is used to read the value object from the node. The value read from the node is resolved using the template filter. If the value data can not be found according to the annotation attributes then null is assumed and returned.
      Specified by:
      read in interface Converter
      Parameters:
      node - this is the node to read the value object from
      value - this is the value to deserialize in to
      Returns:
      this returns the value deserialized from the node
      Throws:
      Exception - if value is not null an exception is thrown
    • validate

      public boolean validate(InputNode node) throws Exception
      This method is used to read the value object from the node. The value read from the node is resolved using the template filter. If the value data can not be found according to the annotation attributes then null is assumed and the node is valid.
      Specified by:
      validate in interface Converter
      Parameters:
      node - this is the node to read the value object from
      Returns:
      this returns true if this represents a valid value
      Throws:
      Exception - if the class XML schema does not fully match
    • validate

      private boolean validate(InputNode node, String key) throws Exception
      This method is used to read the value object from the node. The value read from the node is resolved using the template filter. If the value data can not be found according to the annotation attributes then null is assumed and the node is valid.
      Parameters:
      node - this is the node to read the value object from
      key - this is the name of the value element
      Returns:
      this returns true if this represents a valid value
      Throws:
      Exception
    • write

      public void write(OutputNode node, Object item) throws Exception
      This method is used to write the value to the specified node. The value written to the node must be a composite object and if the object provided to this is null then nothing is written.
      Specified by:
      write in interface Converter
      Parameters:
      node - this is the node that the value is written to
      item - this is the item that is to be written
      Throws:
      Exception - throw if the object cannot be serialized