Package org.exolab.castor.mapping.loader
Class ExtendedFieldHandler
- java.lang.Object
-
- org.exolab.castor.mapping.loader.ExtendedFieldHandler
-
- All Implemented Interfaces:
FieldHandler
public abstract class ExtendedFieldHandler extends java.lang.Object implements FieldHandler
An extended version of the FieldHandler interface which is used for adding additional functionality while preserving backward compatability.- Version:
- $Revision: 6230 $ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
- Author:
- Keith Visco
- See Also:
FieldDescriptor,FieldHandler
-
-
Constructor Summary
Constructors Constructor Description ExtendedFieldHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcheckValidity(java.lang.Object object)Deprecated.No longer supportedprotected abstract FieldDescriptorgetFieldDescriptor()Returns the FieldDescriptor for the field that this handler is reponsibile for, or null if no FieldDescriptor has been set.abstract java.lang.ObjectgetValue(java.lang.Object object)Returns the value of the field from the object.abstract java.lang.ObjectnewInstance(java.lang.Object parent)Creates a new instance of the object described by this field.abstract voidresetValue(java.lang.Object object)Sets the value of the field to a default value.protected abstract voidsetFieldDescriptor(FieldDescriptor fieldDesc)Sets the FieldDescriptor that this FieldHander is responsibile for.abstract voidsetValue(java.lang.Object object, java.lang.Object value)Sets the value of the field on the object.
-
-
-
Method Detail
-
getFieldDescriptor
protected abstract 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.- Returns:
- the FieldDescriptor, or null if none exists.
-
setFieldDescriptor
protected abstract 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.- Parameters:
fieldDesc- the FieldDescriptor to set
-
checkValidity
public final void checkValidity(java.lang.Object object) throws ValidityException, java.lang.IllegalStateExceptionDeprecated.No longer supported- Specified by:
checkValidityin interfaceFieldHandler- Throws:
ValidityExceptionjava.lang.IllegalStateException
-
getValue
public abstract java.lang.Object getValue(java.lang.Object object) throws java.lang.IllegalStateExceptionReturns the value of the field from the object.- Specified by:
getValuein interfaceFieldHandler- 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 abstract java.lang.Object newInstance(java.lang.Object parent) throws java.lang.IllegalStateExceptionCreates a new instance of the object described by this field.- Specified by:
newInstancein interfaceFieldHandler- 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
-
resetValue
public abstract void resetValue(java.lang.Object object) throws java.lang.IllegalStateException, java.lang.IllegalArgumentExceptionSets 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:
resetValuein interfaceFieldHandler- 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
-
setValue
public abstract void setValue(java.lang.Object object, java.lang.Object value) throws java.lang.IllegalStateException, java.lang.IllegalArgumentExceptionSets the value of the field on the object.- Specified by:
setValuein interfaceFieldHandler- Parameters:
object- The objectvalue- 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 objectjava.lang.IllegalArgumentException- The value passed is not of a supported type
-
-