org.exolab.castor.xml
Class XMLFieldHandler<T>

java.lang.Object
  extended by org.exolab.castor.mapping.loader.FieldHandlerFriend<T>
      extended by org.exolab.castor.mapping.ExtendedFieldHandler<T>
          extended by org.exolab.castor.mapping.AbstractFieldHandler<T>
              extended by org.exolab.castor.xml.XMLFieldHandler<T>
All Implemented Interfaces:
ConfigurableFieldHandler<T>, FieldHandler<T>
Direct Known Subclasses:
CollectionFieldHandler, DateFieldHandler

public class XMLFieldHandler<T>
extends AbstractFieldHandler<T>

This FieldHandler is used in the generated descriptors.

A field handler knows how to perform various operations on the field that require access to the field value.

Version:
$Revision: 9062 $ $Date: 2006-04-14 04:14:43 -0600 (Fri, 14 Apr 2006) $
Author:
Assaf Arkin, Keith Visco
See Also:
FieldDescriptor

Field Summary
 
Fields inherited from class org.exolab.castor.mapping.AbstractFieldHandler
_properties
 
Constructor Summary
XMLFieldHandler()
          Creates a new default XMLFieldHandler instance.
 
Method Summary
 boolean equals(Object obj)
          Returns true if the given object is an XMLFieldHandler that is equivalent to this one.
 T getValue(Object object)
          Returns the value of the field from the object.
 T newInstance(Object parent)
          Creates a new instance of the object described by this field.
 Object newInstance(Object parent, Object[] args)
          Creates a new instance of the object described by this field.
 void resetValue(Object object)
          Sets the value of the field to a default value.
 void setValue(Object object, T value)
          Sets the value of the field on the object.
 
Methods inherited from class org.exolab.castor.mapping.AbstractFieldHandler
getFieldDescriptor, hasValue, setConfiguration, setFieldDescriptor
 
Methods inherited from class org.exolab.castor.mapping.ExtendedFieldHandler
checkValidity
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.exolab.castor.mapping.FieldHandler
checkValidity
 

Constructor Detail

XMLFieldHandler

public XMLFieldHandler()
Creates a new default XMLFieldHandler instance.

Method Detail

equals

public boolean equals(Object obj)
Returns true if the given object is an XMLFieldHandler that is equivalent to this one. An equivalent XMLFieldHandler is an XMLFieldHandler that is an instances of the same class. This method can be overwritten to provide more advanced equivalence tests.

Overrides:
equals in class Object
Returns:
true if the given object is an XMLFieldHandler that is equivalent to this one.

getValue

public T getValue(Object object)
           throws IllegalStateException
Returns the value of the field from the object.

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 T newInstance(Object parent)
              throws IllegalStateException
Creates a new instance of the object described by this field.

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

newInstance

public Object newInstance(Object parent,
                          Object[] args)
                   throws IllegalStateException
Creates a new instance of the object described by this field.

Specified by:
newInstance in class ExtendedFieldHandler<T>
Parameters:
parent - The object for which the field is created
args - the set of constructor arguments
Returns:
A new instance of the field's value
Throws:
IllegalStateException - This field is a simple type and cannot be instantiated

setValue

public void setValue(Object object,
                     T value)
              throws IllegalStateException,
                     IllegalArgumentException
Sets the value of the field on the object.

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.

resetValue

public void resetValue(Object object)
                throws IllegalStateException,
                       IllegalArgumentException
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.

Parameters:
object - The 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.
IllegalArgumentException


Copyright © 2013. All Rights Reserved.