Package org.exolab.castor.xml
Class XMLFieldHandler
- java.lang.Object
-
- org.exolab.castor.mapping.loader.FieldHandlerFriend
-
- org.exolab.castor.mapping.ExtendedFieldHandler
-
- org.exolab.castor.mapping.AbstractFieldHandler
-
- org.exolab.castor.xml.XMLFieldHandler
-
- All Implemented Interfaces:
ConfigurableFieldHandler
,FieldHandler
- Direct Known Subclasses:
CenturyDescriptor.CenturyFieldHandler
,CollectionFieldHandler
,DateDescriptor.DateFieldHandler
,DateFieldHandler
,DateTimeDescriptor.DateTimeFieldHandler
,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 AbstractFieldHandler
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: 6216 $ $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
Constructors Constructor Description XMLFieldHandler()
Creates a new default XMLFieldHandler
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.lang.Object
newInstance(java.lang.Object parent, java.lang.Object[] args)
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 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
-
-
-
-
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.- Overrides:
equals
in classjava.lang.Object
- 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 interfaceFieldHandler
- Specified by:
getValue
in classFieldHandlerFriend
- 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
-
newInstance
public java.lang.Object newInstance(java.lang.Object parent) throws java.lang.IllegalStateException
Creates a new instance of the object described by this field.- Specified by:
newInstance
in interfaceFieldHandler
- Specified by:
newInstance
in classFieldHandlerFriend
- 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
-
newInstance
public java.lang.Object newInstance(java.lang.Object parent, java.lang.Object[] args) throws java.lang.IllegalStateException
Creates a new instance of the object described by this field.- Specified by:
newInstance
in classExtendedFieldHandler
- Parameters:
parent
- The object for which the field is createdargs
- the set of constructor arguments- Returns:
- A new instance of the field's value
- Throws:
java.lang.IllegalStateException
- This field is a simple type and cannot be instantiated
-
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 interfaceFieldHandler
- Specified by:
setValue
in classFieldHandlerFriend
- 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
- The value passed is not of a supported type.
-
resetValue
public void resetValue(java.lang.Object object) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
Description copied from class:FieldHandlerFriend
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 interfaceFieldHandler
- Specified by:
resetValue
in classFieldHandlerFriend
- 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 objectjava.lang.IllegalArgumentException
-
-