Class CollectionFieldHandler

All Implemented Interfaces:
ConfigurableFieldHandler, FieldHandler

public class CollectionFieldHandler extends XMLFieldHandler
A FieldHandler for the XML Schema Collection type.

TODO : support all kind of XSList.

Version:
$Revision: 6671 $ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
Author:
Arnaud Blandin
  • Constructor Details

    • CollectionFieldHandler

      public CollectionFieldHandler(FieldHandler fieldHandler)
      Creates a new CollectionFieldHandler using the given FieldHandler for delegation.
      Parameters:
      fieldHandler - the fieldHandler for delegation.
    • CollectionFieldHandler

      public CollectionFieldHandler(FieldHandler fieldHandler, TypeValidator validator)
      Creates a new CollectionFieldHandler using the given FieldHandler for delegation and the given type validator for validation.
      Parameters:
      fieldHandler - the fieldHandler for delegation.
      validator - Type validator to use to validate an instance of this type.
  • Method Details

    • setValue

      public void setValue(Object target, Object value) throws IllegalStateException
      Sets the value of the field associated with this descriptor. If paased a String, then String is tokenized and each token is added as an individual instance to the collection.
      Specified by:
      setValue in interface FieldHandler
      Overrides:
      setValue in class XMLFieldHandler
      Parameters:
      target - the object in which to set the value
      value - the value of the field
      Throws:
      IllegalStateException - if any value provided fails validation.
    • getValue

      public Object getValue(Object target) throws IllegalStateException
      Gets the value of the field associated with this descriptor. If the value is an array, it returns a string 'representing' this array
      Specified by:
      getValue in interface FieldHandler
      Overrides:
      getValue in class XMLFieldHandler
      Parameters:
      target - the object from which to get the value
      Returns:
      the value of the field associated with this descriptor.
      Throws:
      IllegalStateException - if any value provided fails validation.
    • resetValue

      public void resetValue(Object target) throws IllegalStateException
      Sets the value of the field to a default value.
      Specified by:
      resetValue in interface FieldHandler
      Overrides:
      resetValue in class XMLFieldHandler
      Parameters:
      target - The object to reset
      Throws:
      IllegalStateException - if the Java object has changed and is no longer supported by this handler or the handler is not compatible with the Java object
    • checkValidity

      public void checkValidity(Object object) throws ValidityException, IllegalStateException
      Checks the field validity. Returns successfully if the field can be stored, is valid, etc, throws an exception otherwise.
      Specified by:
      checkValidity in interface FieldHandler
      Overrides:
      checkValidity in class ExtendedFieldHandler
      Parameters:
      object - The object
      Throws:
      ValidityException - The field is invalid, is required and null, or any other validity violation
      IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatiable with the Java object
    • newInstance

      public Object newInstance(Object parent) throws IllegalStateException
      Creates a new instance of the object described by this field.
      Specified by:
      newInstance in interface FieldHandler
      Overrides:
      newInstance in class XMLFieldHandler
      Parameters:
      parent - The object for which the field is created
      Returns:
      A new instance of the field's value
      Throws:
      IllegalStateException - This field is a simple type and cannot be instantiated
    • equals

      public boolean equals(Object obj)
      Returns true if the given object is an XMLFieldHandler that is equivalent to the delegated handler. An equivalent XMLFieldHandler is an XMLFieldHandler that is an instances of the same class.
      Overrides:
      equals in class XMLFieldHandler
      Parameters:
      obj - The object to compare to this.
      Returns:
      true if the given object is an XMLFieldHandler that is equivalent to this one.