Package org.exolab.castor.xml.handlers
Class ValueOfFieldHandler
- java.lang.Object
-
- org.exolab.castor.mapping.loader.FieldHandlerFriend
-
- org.exolab.castor.mapping.ExtendedFieldHandler
-
- org.exolab.castor.mapping.AbstractFieldHandler
-
- org.exolab.castor.mapping.GeneralizedFieldHandler
-
- org.exolab.castor.xml.handlers.ValueOfFieldHandler
-
- All Implemented Interfaces:
ConfigurableFieldHandler
,FieldHandler
public class ValueOfFieldHandler extends GeneralizedFieldHandler
An implementation of GeneralizedFieldHandler for classes that have a built-in valueOf(String) factory method, such as type-safe enumeration classes, java.sql.Timestamp, etc.- Version:
- $Revision: 6671 $ $Date: 2006-04-14 04:14:43 -0600 (Fri, 14 Apr 2006) $
- Author:
- Keith Visco
- See Also:
FieldDescriptor
,FieldHandler
-
-
Field Summary
-
Fields inherited from class org.exolab.castor.mapping.AbstractFieldHandler
_properties
-
-
Constructor Summary
Constructors Constructor Description ValueOfFieldHandler(java.lang.Class type)
Creates a new ValueOfFieldHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
convertUponGet(java.lang.Object value)
This method is used to convert the value when the getValue method is called.java.lang.Object
convertUponSet(java.lang.Object value)
This method is used to convert the value when the setValue method is called.java.lang.Class
getFieldType()
Returns the class type for the field that this GeneralizedFieldHandler converts to and from.java.lang.Object
newInstance(java.lang.Object parent)
Creates a new instance of the object described by this field.-
Methods inherited from class org.exolab.castor.mapping.GeneralizedFieldHandler
getValue, newInstance, resetValue, setCollectionIteration, setFieldHandler, setValue
-
Methods inherited from class org.exolab.castor.mapping.AbstractFieldHandler
getFieldDescriptor, hasValue, setConfiguration, setFieldDescriptor
-
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
-
-
-
-
Constructor Detail
-
ValueOfFieldHandler
public ValueOfFieldHandler(java.lang.Class type) throws MappingException
Creates a new ValueOfFieldHandler.- Parameters:
type
- the class type to create the FieldHandler for- Throws:
MappingException
- if the valueOf method cannot be found
-
-
Method Detail
-
convertUponGet
public java.lang.Object convertUponGet(java.lang.Object value)
This method is used to convert the value when the getValue method is called. The getValue method will obtain the actual field value from given 'parent' object. This convert method is then invoked with the field's value. The value returned from this method will be the actual value returned by getValue method.- Specified by:
convertUponGet
in classGeneralizedFieldHandler
- Parameters:
value
- the object value to convert after performing a get operation- Returns:
- the converted value.
-
convertUponSet
public java.lang.Object convertUponSet(java.lang.Object value)
This method is used to convert the value when the setValue method is called. The setValue method will call this method to obtain the converted value. The converted value will then be used as the value to set for the field.- Specified by:
convertUponSet
in classGeneralizedFieldHandler
- Parameters:
value
- the object value to convert before performing a set operation- Returns:
- the converted value.
-
getFieldType
public java.lang.Class getFieldType()
Returns the class type for the field that this GeneralizedFieldHandler converts to and from. This should be the type that is used in the object model.- Specified by:
getFieldType
in classGeneralizedFieldHandler
- Returns:
- the class type of of the field
-
newInstance
public java.lang.Object newInstance(java.lang.Object parent) throws java.lang.IllegalStateException
Creates a new instance of the object described by this field.- Specified by:
newInstance
in interfaceFieldHandler
- Overrides:
newInstance
in classGeneralizedFieldHandler
- 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
-
-