org.exolab.castor.xml.handlers
Class ContainerFieldHandler
java.lang.Object
org.exolab.castor.xml.handlers.ContainerFieldHandler
- FieldHandler
public final class ContainerFieldHandler
extends java.lang.Object
The FieldHandler for ContainerElement.
$Revision: 6784 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
void | checkValidity(Object object) - Checks the field validity.
|
Object | getValue(Object object) - Returns the value of the field from the object.
|
Object | newInstance(Object parent) - 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, Object value) - Sets the value of the field on the object.
|
MODE_AUTO
public static final int MODE_AUTO
Automatically choose the mode to use.
MODE_CHILD_LINK
public static final int MODE_CHILD_LINK
The mode for a ContainerElement. getValue and setValue operate on the parent.
MODE_PARENT_LINK
public static final int MODE_PARENT_LINK
When the field is not a ContainerElement, this mode is used.
ContainerFieldHandler
public ContainerFieldHandler(FieldHandler handler)
Creates a new ContainerFieldHandler with the given FieldHandler.
handler
- The field handler to delegate to.
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.
- checkValidity in interface FieldHandler
ValidityException
- The field is invalid, is required and null, or
any other validity violation
getValue
public Object getValue(Object object)
throws IllegalStateException
Returns the value of the field from the object. If mode is
MODE_CHILD_LINK or mode is MODE_AUTO and the object is a
ContainerElement, then the value of the parent is returned. Otherwise, a
new ContainerElement is returned. The value of this new ContainerElement
is the value of the provided object and the parent of the new
ContainerElement is the provided object.
- getValue in interface FieldHandler
object
- The object to get the value of
newInstance
public Object newInstance(Object parent)
throws IllegalStateException
Creates a new instance of the object described by this field. Of the
object provided is a ContainerElement, then a new isntance of the parent
object is returned. Otherwise a new ContainerElement is created and
returned, with the parent set to the provided object.
- newInstance in interface FieldHandler
parent
- The object for which the field is created
- A new instance of the field's value
resetValue
public void resetValue(Object object)
throws IllegalStateException
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
setValue
public void setValue(Object object,
Object value)
throws IllegalStateException,
IllegalArgumentException
Sets the value of the field on the object. That is, sets the value of the
container parent to the provided value.
- setValue in interface FieldHandler
object
- The object whose value to set.value
- The new value
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com