|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.exolab.castor.mapping.loader.FieldHandlerFriend org.exolab.castor.mapping.ExtendedFieldHandler org.exolab.castor.mapping.AbstractFieldHandler
An extended version of the FieldHandler interface which is used for adding additional functionality while preserving backward compatability.
FieldDescriptor
,
FieldHandler
Method Summary | |
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. |
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 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public 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 |