org.exolab.castor.xml.handlers
Class ValueOfFieldHandler

java.lang.Object
  extended by org.exolab.castor.mapping.loader.FieldHandlerFriend
      extended by org.exolab.castor.mapping.ExtendedFieldHandler
          extended by org.exolab.castor.mapping.AbstractFieldHandler
              extended by org.exolab.castor.mapping.GeneralizedFieldHandler
                  extended by org.exolab.castor.xml.handlers.ValueOfFieldHandler
All Implemented Interfaces:
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: 1.3 $ $Date: 2004/10/01 13:25:18 $
Author:
Keith Visco
See Also:
FieldDescriptor, FieldHandler

Constructor Summary
ValueOfFieldHandler(java.lang.Class type)
          Creates a new ValueOfFieldHandler
 
Method Summary
 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, 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
 

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
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 class GeneralizedFieldHandler
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 class GeneralizedFieldHandler
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 class GeneralizedFieldHandler
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 interface FieldHandler
Overrides:
newInstance in class GeneralizedFieldHandler
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


Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com