Class EnumFieldHandler

java.lang.Object
org.exolab.castor.xml.handlers.EnumFieldHandler
All Implemented Interfaces:
FieldHandler

public class EnumFieldHandler extends Object implements FieldHandler
A specialized FieldHandler for the XML Schema enumeration types.
Version:
$Revision: 9196 $ $Date: 2006-04-13 06:47:36 -0600 (Thu, 13 Apr 2006) $
Author:
Keith Visco
  • Constructor Details

    • EnumFieldHandler

      public EnumFieldHandler(Class enumType, FieldHandler handler)
      Creates a new EnumFieldHandler with the given type and FieldHandler.
      Parameters:
      enumType - the Class type of the described field
      handler - the FieldHandler to delegate to
  • Method Details

    • getValue

      public Object getValue(Object target) throws IllegalStateException
      Returns the value of the field associated with this descriptor from the given target object.
      Specified by:
      getValue in interface FieldHandler
      Parameters:
      target - the object to get the value from
      Returns:
      the value of the field associated with this descriptor from the given target object.
      Throws:
      IllegalStateException - The Java object has changed and is no longer supported by this handler, or the handler is not compatible with the Java object
    • setValue

      public void setValue(Object target, Object value) throws IllegalStateException
      Sets the value of the field associated with this descriptor.
      Specified by:
      setValue in interface FieldHandler
      Parameters:
      target - the object in which to set the value
      value - 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 compatible with the Java object.
    • resetValue

      public void resetValue(Object target)
      Sets the value of the field to a default value -- for enum, no action needed.
      Specified by:
      resetValue in interface FieldHandler
      Parameters:
      target - The 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
      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
      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 Object
      Returns:
      true if the given object is an XMLFieldHandler that is equivalent to this one.