Class ExtendedFieldHandler

  • All Implemented Interfaces:
    FieldHandler

    public abstract class ExtendedFieldHandler
    extends java.lang.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:
    FieldDescriptor, FieldHandler
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void checkValidity​(java.lang.Object object)
      Deprecated.
      No longer supported
      protected abstract FieldDescriptor getFieldDescriptor()
      Returns the FieldDescriptor for the field that this handler is reponsibile for, or null if no FieldDescriptor has been set.
      abstract java.lang.Object getValue​(java.lang.Object object)
      Returns the value of the field from the object.
      abstract java.lang.Object newInstance​(java.lang.Object parent)
      Creates a new instance of the object described by this field.
      abstract void resetValue​(java.lang.Object object)
      Sets the value of the field to a default value.
      protected abstract void setFieldDescriptor​(FieldDescriptor fieldDesc)
      Sets the FieldDescriptor that this FieldHander is responsibile for.
      abstract void setValue​(java.lang.Object object, java.lang.Object value)
      Sets the value of the field on the object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExtendedFieldHandler

        public ExtendedFieldHandler()
    • Method Detail

      • 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
      • getValue

        public abstract java.lang.Object getValue​(java.lang.Object object)
                                           throws java.lang.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:
        java.lang.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 java.lang.Object newInstance​(java.lang.Object parent)
                                              throws java.lang.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:
        java.lang.IllegalStateException - This field is a simple type and cannot be instantiated
      • resetValue

        public abstract void resetValue​(java.lang.Object object)
                                 throws java.lang.IllegalStateException,
                                        java.lang.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:
        java.lang.IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatiable with the Java object
        java.lang.IllegalArgumentException
      • setValue

        public abstract void setValue​(java.lang.Object object,
                                      java.lang.Object value)
                               throws java.lang.IllegalStateException,
                                      java.lang.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:
        java.lang.IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatiable with the Java object
        java.lang.IllegalArgumentException - The value passed is not of a supported type