|
||||||||||
| 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| Field Summary | |
|---|---|
protected Properties |
_properties
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 Object |
getValue(Object object)
Returns the value of the field from the object. |
boolean |
hasValue(Object object)
Returns true if the "handled" field has a value within the given object. |
abstract Object |
newInstance(Object parent)
Creates a new instance of the object described by this field. |
abstract Object |
newInstance(Object parent,
Object[] args)
Creates a new instance of the object described by this field. |
abstract void |
resetValue(Object object)
Sets the value of the field to a default value. |
void |
setConfiguration(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(Object object,
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 Properties _properties
| 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(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 Object getValue(Object object)
throws IllegalStateException
getValue in interface FieldHandlergetValue in class ExtendedFieldHandlerobject - The object
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 Object newInstance(Object parent)
throws IllegalStateException
newInstance in interface FieldHandlernewInstance in class ExtendedFieldHandlerparent - The object for which the field is created
IllegalStateException - This field is a simple type and
cannot be instantiated
public abstract Object newInstance(Object parent,
Object[] args)
throws IllegalStateException
newInstance in class ExtendedFieldHandlerparent - The object for which the field is createdargs - the set of constructor arguments
IllegalStateException - This field is a simple type and
cannot be instantiated
public abstract void resetValue(Object object)
throws IllegalStateException,
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
IllegalStateException - The Java object has changed and
is no longer supported by this handler, or the handler is not
compatiable with the Java object
IllegalArgumentException
public abstract void setValue(Object object,
Object value)
throws IllegalStateException,
IllegalArgumentException
setValue in interface FieldHandlersetValue in class ExtendedFieldHandlerobject - The object.value - The new value.
IllegalStateException - The Java object has changed and is no longer
supported by this handler, or the handler is not compatiable with the
Java object.
IllegalArgumentException - The value passed is not of a supported type.
public void setConfiguration(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 | |||||||||