|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.mapping.loader.FieldHandlerFriend
org.exolab.castor.mapping.ExtendedFieldHandler
org.exolab.castor.mapping.AbstractFieldHandler
public abstract class AbstractFieldHandler
An extended version of the FieldHandler interface which is used for adding additional functionality while preserving backward compatability.
FieldDescriptor
,
FieldHandler
Constructor Summary | |
---|---|
protected |
AbstractFieldHandler()
Creates a new default AbstractFieldHandler. |
Method Summary | |
---|---|
protected FieldDescriptor |
getFieldDescriptor()
Returns the FieldDescriptor for the field that this handler is reponsibile for, or null if no FieldDescriptor has been set. |
abstract java.lang.Object |
getValue(java.lang.Object object)
Returns the value of the field from the object. |
boolean |
hasValue(java.lang.Object object)
Returns true if the "handled" field has a value within the given object. |
abstract java.lang.Object |
newInstance(java.lang.Object parent)
Creates a new instance of the object described by this field. |
abstract java.lang.Object |
newInstance(java.lang.Object parent,
java.lang.Object[] args)
Creates a new instance of the object described by this field. |
abstract void |
resetValue(java.lang.Object object)
Sets the value of the field to a default value. |
void |
setFieldDescriptor(FieldDescriptor fieldDesc)
Sets the FieldDescriptor that this FieldHander is responsibile for. |
abstract 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.ExtendedFieldHandler |
---|
checkValidity |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractFieldHandler()
Method Detail |
---|
protected final FieldDescriptor getFieldDescriptor()
getFieldDescriptor
in class ExtendedFieldHandler
public final void setFieldDescriptor(FieldDescriptor fieldDesc)
setFieldDescriptor
in class ExtendedFieldHandler
fieldDesc
- the FieldDescriptor to setpublic boolean hasValue(java.lang.Object object)
By default this just checks for null. Normally this method is needed for checking if a value has been set via a call to the setValue method, or if the primitive value has been initialized by the JVM.
This method should be overloaded for improved value checking.
public abstract java.lang.Object getValue(java.lang.Object object) throws java.lang.IllegalStateException
getValue
in interface FieldHandler
getValue
in class ExtendedFieldHandler
object
- The object
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 objectpublic abstract java.lang.Object newInstance(java.lang.Object parent) throws java.lang.IllegalStateException
newInstance
in interface FieldHandler
newInstance
in class ExtendedFieldHandler
parent
- The object for which the field is created
java.lang.IllegalStateException
- This field is a simple type and
cannot be instantiatedpublic abstract java.lang.Object newInstance(java.lang.Object parent, java.lang.Object[] args) throws java.lang.IllegalStateException
newInstance
in class ExtendedFieldHandler
parent
- The object for which the field is createdargs
- the set of constructor arguments
java.lang.IllegalStateException
- This field is a simple type and
cannot be instantiatedpublic abstract void resetValue(java.lang.Object object) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
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
resetValue
in class ExtendedFieldHandler
object
- The object
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
public abstract void setValue(java.lang.Object object, java.lang.Object value) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
setValue
in interface FieldHandler
setValue
in class ExtendedFieldHandler
object
- The objectvalue
- The new value
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
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |