|
|||||||||||
| 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
An extended version of the FieldHandler interface which is used for adding additional functionality while preserving backward compatability.
FieldDescriptor,
FieldHandler| Field Summary | |
protected java.util.Properties |
configuration
Configuration that can be used by subclasses when needed. |
| 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 |
setConfiguration(java.util.Properties config)
Empty implementation of the ConfigurableFieldHandler interface, for convenience
purpose. |
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 |
| Methods inherited from interface org.exolab.castor.mapping.FieldHandler |
checkValidity |
| Field Detail |
protected java.util.Properties configuration
| Constructor Detail |
protected AbstractFieldHandler()
| Method Detail |
protected final FieldDescriptor getFieldDescriptor()
getFieldDescriptor in class ExtendedFieldHandlerpublic void setFieldDescriptor(FieldDescriptor fieldDesc)
setFieldDescriptor in class ExtendedFieldHandlerfieldDesc - 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 FieldHandlergetValue in class ExtendedFieldHandlerobject - 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
public abstract java.lang.Object newInstance(java.lang.Object parent)
throws java.lang.IllegalStateException
newInstance in interface FieldHandlernewInstance in class ExtendedFieldHandlerparent - The object for which the field is created
java.lang.IllegalStateException - This field is a simple type and
cannot be instantiated
public abstract java.lang.Object newInstance(java.lang.Object parent,
java.lang.Object[] args)
throws java.lang.IllegalStateException
newInstance in class ExtendedFieldHandlerparent - 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 instantiated
public 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 FieldHandlerresetValue in class ExtendedFieldHandlerobject - 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 FieldHandlersetValue in class ExtendedFieldHandlerobject - The object.value - 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 - The value passed is not of a supported type.
public void setConfiguration(java.util.Properties config)
throws ValidityException
ConfigurableFieldHandler interface, for convenience
purpose. Subclasses that want to use any configuration should override this method.
setConfiguration in interface ConfigurableFieldHandlerconfig - the configuration data.
ValidityException - if config is invalid for this FieldHandler.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||