org.exolab.castor.mapping
Class AbstractFieldHandler
- FieldHandler
public abstract class AbstractFieldHandler
An extended version of the FieldHandler interface which is
used for adding additional functionality while preserving
backward compatability.
$Revision: 6216 $ $Date: 2005-08-03 15:11:51 -0600 (Wed, 03 Aug 2005) $
protected FieldDescriptor | getFieldDescriptor() - Returns the FieldDescriptor for the field that this
handler is reponsibile for, or null if no FieldDescriptor
has been set.
|
abstract Object | getValue(Object object) - Returns the value of the field from the object.
|
boolean | hasValue(Object object) - Returns true if the "handled" field has a value within the
given object.
|
abstract Object | newInstance(Object parent) - Creates a new instance of the object described by this field.
|
abstract Object | newInstance(Object parent, Object[] args) - Creates a new instance of the object described by this field.
|
abstract void | resetValue(Object object) - Sets the value of the field to a default value.
|
void | setFieldDescriptor(FieldDescriptor fieldDesc) - Sets the FieldDescriptor that this FieldHander is
responsibile for.
|
abstract void | setValue(Object object, Object value) - Sets the value of the field on the object.
|
AbstractFieldHandler
protected AbstractFieldHandler()
Creates a new default AbstractFieldHandler. This method
should be called by all extending classes so that any
important initialization code will be executed.
getFieldDescriptor
protected final 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.
- getFieldDescriptor in interface ExtendedFieldHandler
- the FieldDescriptor, or null if none exists.
hasValue
public boolean hasValue(Object object)
Returns true if the "handled" field has a value within the
given object.
By default this just checks for null. Normally this method
is needed for checking if a value has been set via a call
to the setValue method, or if the primitive value has
been initialized by the JVM.
This method should be overloaded for improved value
checking.
- true if the given object has a value for the handled field
newInstance
public abstract Object newInstance(Object parent)
throws IllegalStateException
Creates a new instance of the object described by this field.
- newInstance in interface FieldHandler
- newInstance in interface ExtendedFieldHandler
parent
- The object for which the field is created
- A new instance of the field's value
newInstance
public abstract Object newInstance(Object parent,
Object[] args)
throws IllegalStateException
Creates a new instance of the object described by this field.
- newInstance in interface ExtendedFieldHandler
parent
- The object for which the field is createdargs
- the set of constructor arguments
- A new instance of the field's value
resetValue
public abstract void resetValue(Object object)
throws IllegalStateException,
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.
- resetValue in interface FieldHandler
- resetValue in interface ExtendedFieldHandler
setFieldDescriptor
public final 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.
- setFieldDescriptor in interface ExtendedFieldHandler
fieldDesc
- the FieldDescriptor to set
setValue
public abstract void setValue(Object object,
Object value)
throws IllegalStateException,
IllegalArgumentException
Sets the value of the field on the object.
- setValue in interface FieldHandler
- setValue in interface ExtendedFieldHandler
object
- The object.value
- The new value.
Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com