Class ExtendedFieldHandler

java.lang.Object
org.exolab.castor.mapping.loader.ExtendedFieldHandler
All Implemented Interfaces:
FieldHandler

public abstract class ExtendedFieldHandler extends Object implements FieldHandler
An extended version of the FieldHandler interface which is used for adding additional functionality while preserving backward compatability.
Version:
$Revision: 6230 $ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
Author:
Keith Visco
See Also:
  • Constructor Details

    • ExtendedFieldHandler

      public ExtendedFieldHandler()
  • Method Details

    • getFieldDescriptor

      protected abstract FieldDescriptor getFieldDescriptor()
      Returns the FieldDescriptor for the field that this handler is reponsibile for, or null if no FieldDescriptor has been set. This method is useful for implementations of the FieldHandler interface that wish to obtain information about the field in order to make the FieldHandler more generic and reusable, or simply for validation purposes.
      Returns:
      the FieldDescriptor, or null if none exists.
    • setFieldDescriptor

      protected abstract void setFieldDescriptor(FieldDescriptor fieldDesc)
      Sets the FieldDescriptor that this FieldHander is responsibile for. By setting the FieldDescriptor, it allows the implementation of the FieldHandler methods to obtain information about the field itself. This allows a particular implementation to become more generic and reusable.
      Parameters:
      fieldDesc - the FieldDescriptor to set
    • checkValidity

      public final void checkValidity(Object object) throws ValidityException, IllegalStateException
      Deprecated.
      No longer supported
      Specified by:
      checkValidity in interface FieldHandler
      Throws:
      ValidityException
      IllegalStateException
    • getValue

      public abstract Object getValue(Object object) throws IllegalStateException
      Returns the value of the field from the object.
      Specified by:
      getValue in interface FieldHandler
      Parameters:
      object - The object
      Returns:
      The value of the field
      Throws:
      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 abstract Object newInstance(Object parent) throws IllegalStateException
      Creates a new instance of the object described by this field.
      Specified by:
      newInstance in interface FieldHandler
      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
    • resetValue

      public abstract void resetValue(Object object) throws IllegalStateException, IllegalArgumentException
      Sets the value of the field to a default value.

      Reference fields are set to null, primitive fields are set to their default value, collection fields are emptied of all elements.

      Specified by:
      resetValue in interface FieldHandler
      Parameters:
      object - The object
      Throws:
      IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatiable with the Java object
      IllegalArgumentException
    • setValue

      public abstract void setValue(Object object, Object value) throws IllegalStateException, IllegalArgumentException
      Sets the value of the field on the object.
      Specified by:
      setValue in interface FieldHandler
      Parameters:
      object - The object
      value - The new value
      Throws:
      IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatiable with the Java object
      IllegalArgumentException - The value passed is not of a supported type