org.exolab.castor.xml.handlers

Class CollectionFieldHandler

Implemented Interfaces:
FieldHandler

public class CollectionFieldHandler
extends XMLFieldHandler

A FieldHandler for the XML Schema Collection type. TODO : support all kind of XSList

Version:
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:09:26 $

Author:
Arnaud Blandin

Constructor Summary

CollectionFieldHandler(FieldHandler fieldHandler)
Creates a new CollectionFieldHandler using the given FieldHandler for delegation.
CollectionFieldHandler(FieldHandler fieldHandler, TypeValidator validator)

Method Summary

void
checkValidity(Object object)
Checks the field validity.
boolean
equals(Object obj)
Returns true if the given object is an XMLFieldHandler that is equivalent to the delegated handler.
Object
getValue(Object target)
Gets the value of the field associated with this descriptor.
Object
newInstance(Object parent)
Creates a new instance of the object described by this field.
void
resetValue(Object target)
Sets the value of the field to a default value.
void
setValue(Object target, Object value)
Sets the value of the field associated with this descriptor.

Methods inherited from class org.exolab.castor.xml.XMLFieldHandler

checkValidity, equals, getValue, newInstance, resetValue, setValue

Constructor Details

CollectionFieldHandler

public CollectionFieldHandler(FieldHandler fieldHandler)
Creates a new CollectionFieldHandler using the given FieldHandler for delegation.

Parameters:
fieldHandler - the fieldHandler for delegation.


CollectionFieldHandler

public CollectionFieldHandler(FieldHandler fieldHandler,
                              TypeValidator validator)

Method Details

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.
Specified by:
checkValidity in interface FieldHandler
Overrides:
checkValidity in interface XMLFieldHandler

Parameters:
object - The object

Throws:
ValidityException - The field is invalid, is required and null, or any other validity violation


equals

public boolean equals(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 interface XMLFieldHandler

Returns:
true if the given object is an XMLFieldHandler that is equivalent to this one.


getValue

public Object getValue(Object target)
            throws java.lang.IllegalStateException
Gets the value of the field associated with this descriptor. If the value is an array, it returns a string 'representing' this array
Specified by:
getValue in interface FieldHandler
Overrides:
getValue in interface XMLFieldHandler

Parameters:
target - the object in which to set the value


newInstance

public Object newInstance(Object parent)
            throws IllegalStateException
Creates a new instance of the object described by this field.
Specified by:
newInstance in interface FieldHandler
Overrides:
newInstance in interface XMLFieldHandler

Parameters:
parent - The object for which the field is created

Returns:
A new instance of the field's value


resetValue

public void resetValue(Object target)
            throws java.lang.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.

Specified by:
resetValue in interface FieldHandler
Overrides:
resetValue in interface XMLFieldHandler

Parameters:


setValue

public void setValue(Object target,
                     Object value)
            throws java.lang.IllegalStateException
Sets the value of the field associated with this descriptor.
Specified by:
setValue in interface FieldHandler
Overrides:
setValue in interface XMLFieldHandler

Parameters:
target - the object in which to set the value
value - the value of the field


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