Package org.exolab.castor.xml.handlers
Class EnumFieldHandler
- java.lang.Object
-
- org.exolab.castor.xml.handlers.EnumFieldHandler
-
- All Implemented Interfaces:
FieldHandler
public class EnumFieldHandler extends java.lang.Object implements FieldHandler
A specialized FieldHandler for the XML Schema enumeration types.- Version:
- $Revision: 7168 $ $Date: 2006-04-13 06:47:36 -0600 (Thu, 13 Apr 2006) $
- Author:
- Keith Visco
-
-
Constructor Summary
Constructors Constructor Description EnumFieldHandler(java.lang.Class enumType, FieldHandler handler)
Creates a new EnumFieldHandler with the given type and FieldHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkValidity(java.lang.Object object)
Checks the field validity.boolean
equals(java.lang.Object obj)
Returns true if the given object is an XMLFieldHandler that is equivalent to the delegated handler.java.lang.Object
getValue(java.lang.Object target)
Returns the value of the field associated with this descriptor from the given target object.java.lang.Object
newInstance(java.lang.Object parent)
Creates a new instance of the object described by this field.void
resetValue(java.lang.Object target)
Sets the value of the field to a default value -- for enum, no action needed.void
setValue(java.lang.Object target, java.lang.Object value)
Sets the value of the field associated with this descriptor.
-
-
-
Constructor Detail
-
EnumFieldHandler
public EnumFieldHandler(java.lang.Class enumType, FieldHandler handler)
Creates a new EnumFieldHandler with the given type and FieldHandler.- Parameters:
enumType
- the Class type of the described fieldhandler
- the FieldHandler to delegate to
-
-
Method Detail
-
getValue
public java.lang.Object getValue(java.lang.Object target) throws java.lang.IllegalStateException
Returns the value of the field associated with this descriptor from the given target object.- Specified by:
getValue
in interfaceFieldHandler
- 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:
java.lang.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(java.lang.Object target, java.lang.Object value) throws java.lang.IllegalStateException
Sets the value of the field associated with this descriptor.- Specified by:
setValue
in interfaceFieldHandler
- Parameters:
target
- the object in which to set the valuevalue
- 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 compatible with the Java object.
-
resetValue
public void resetValue(java.lang.Object target)
Sets the value of the field to a default value -- for enum, no action needed.- Specified by:
resetValue
in interfaceFieldHandler
- Parameters:
target
- The object.
-
checkValidity
public void checkValidity(java.lang.Object object) throws ValidityException, java.lang.IllegalStateException
Checks the field validity. Returns successfully if the field can be stored, is valid, etc, throws an exception otherwise.- Specified by:
checkValidity
in interfaceFieldHandler
- Parameters:
object
- The object- Throws:
ValidityException
- The field is invalid, is required and null, or any other validity violationjava.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 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 interfaceFieldHandler
- 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
-
equals
public boolean equals(java.lang.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 classjava.lang.Object
- Returns:
- true if the given object is an XMLFieldHandler that is equivalent to this one.
-
-