org.exolab.castor.xml
Class XMLFieldHandler

java.lang.Object
  extended byorg.exolab.castor.xml.XMLFieldHandler
All Implemented Interfaces:
FieldHandler
Direct Known Subclasses:
CenturyDescriptor.CenturyFieldHandler, CollectionFieldHandler, DateDescriptor.DateFieldHandler, DateFieldHandler, DurationDescriptor.DurationFieldHandler, GDayDescriptor.GDayFieldHandler, GMonthDayDescriptor.GMonthDayFieldHandler, GMonthDescriptor.GMonthFieldHandler, GYearDescriptor.GYearFieldHandler, GYearMonthDescriptor.GYearMonthFieldHandler, MonthDescriptor.MonthFieldHandler, RecurringDurationDescriptor.RecurringDurationFieldHandler, TimeDescriptor.TimeFieldHandler, TimeDurationDescriptor.TimeDurationFieldHandler, TimePeriodDescriptor.TimePeriodFieldHandler, YearDescriptor.YearFieldHandler

public class XMLFieldHandler
extends java.lang.Object
implements FieldHandler

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

Version:
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:09:16 $
Author:
Assaf Arkin
See Also:
FieldDescriptor

Constructor Summary
XMLFieldHandler()
          Creates a new default XMLFieldHandler
 
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 this one.
 java.lang.Object getValue(java.lang.Object object)
          Returns the value of the field from the 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 object)
          Sets the value of the field to a default value.
 void setValue(java.lang.Object object, java.lang.Object value)
          Sets the value of the field on the object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLFieldHandler

public XMLFieldHandler()
Creates a new default XMLFieldHandler

Method Detail

equals

public boolean equals(java.lang.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.

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

getValue

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

Specified by:
getValue in interface FieldHandler
Parameters:
object - The object
Returns:
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

setValue

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

Specified by:
setValue in interface FieldHandler
Parameters:
object - The object
value - The new value
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
java.lang.IllegalArgumentException

resetValue

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

Specified by:
resetValue in interface FieldHandler
Parameters:
object - The 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
java.lang.IllegalArgumentException

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)
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


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