org.exolab.castor.xml.handlers
Class EnumFieldHandler

java.lang.Object
  extended by 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: 1.4 $ $Date: 2005/05/02 20:58:59 $
Author:
Keith Visco

Constructor Summary
EnumFieldHandler(java.lang.Class enumType, FieldHandler handler)
          Creates a new EnumFieldHandler with the given type and FieldHandler
 
Method Summary
 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 targer)
          Sets the value of the field to a default value.
 void setValue(java.lang.Object target, java.lang.Object value)
          Sets the value of the field associated with this descriptor.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumFieldHandler

public EnumFieldHandler(java.lang.Class enumType,
                        FieldHandler handler)
Creates a new EnumFieldHandler with the given type and FieldHandler

Parameters:
type - the Class type of the described field
handler - 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 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:
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

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 interface FieldHandler
Parameters:
target - the object in which to set the value
value - 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

resetValue

public void resetValue(java.lang.Object targer)
Description copied from interface: FieldHandler
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:
targer - 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 interface FieldHandler
Parameters:
object - The object
Throws:
ValidityException - The field is invalid, is required and null, or any other validity violation
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 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

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 class java.lang.Object
Returns:
true if the given object is an XMLFieldHandler that is equivalent to this one.


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com