com.ail.core.xmlbinding
Class CastorCDataFieldHandler

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 com.ail.core.xmlbinding.CastorCDataFieldHandler
All Implemented Interfaces:
org.exolab.castor.mapping.FieldHandler

public class CastorCDataFieldHandler
extends org.exolab.castor.mapping.AbstractFieldHandler

Castor data field handler which wraps a fields value with CDATA tags. CDATA tags have never been very well supported by castor (i.e. not at all!), but castor does provide support for specifying "handlers" on a per field basis in the mapping file. If defined, castor uses the handler to marshal objects to XML.

To use this handler, set the field up as follows in the mapping file:

<field name="value" type="string" required="false"

  direct="false" transient="false" handler="com.ail.core.xmlbinding.CastorCDataFieldHandler">

    <bind-xml node="text" reference="false"/>

  </field>

Version:
$Revision: 1.3 $

Constructor Summary
CastorCDataFieldHandler()
           
 
Method Summary
 java.lang.Object getValue(java.lang.Object object)
          uses reflection to retrieve the value then wraps it in a CDATA section
 java.lang.Object newInstance(java.lang.Object arg0)
           
 java.lang.Object newInstance(java.lang.Object arg0, java.lang.Object[] arg1)
           
 void resetValue(java.lang.Object object)
           
 void setValue(java.lang.Object object, java.lang.Object value)
           
 
Methods inherited from class org.exolab.castor.mapping.AbstractFieldHandler
hasValue, setFieldDescriptor
 
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
 

Constructor Detail

CastorCDataFieldHandler

public CastorCDataFieldHandler()
Method Detail

getValue

public java.lang.Object getValue(java.lang.Object object)
                          throws java.lang.IllegalStateException
uses reflection to retrieve the value then wraps it in a CDATA section

Specified by:
getValue in interface org.exolab.castor.mapping.FieldHandler
Specified by:
getValue in class org.exolab.castor.mapping.AbstractFieldHandler
Throws:
java.lang.IllegalStateException

newInstance

public java.lang.Object newInstance(java.lang.Object arg0)
                             throws java.lang.IllegalStateException
Specified by:
newInstance in interface org.exolab.castor.mapping.FieldHandler
Specified by:
newInstance in class org.exolab.castor.mapping.AbstractFieldHandler
Throws:
java.lang.IllegalStateException

newInstance

public java.lang.Object newInstance(java.lang.Object arg0,
                                    java.lang.Object[] arg1)
                             throws java.lang.IllegalStateException
Specified by:
newInstance in class org.exolab.castor.mapping.AbstractFieldHandler
Throws:
java.lang.IllegalStateException

resetValue

public void resetValue(java.lang.Object object)
                throws java.lang.IllegalStateException,
                       java.lang.IllegalArgumentException
Specified by:
resetValue in interface org.exolab.castor.mapping.FieldHandler
Specified by:
resetValue in class org.exolab.castor.mapping.AbstractFieldHandler
Throws:
java.lang.IllegalStateException
java.lang.IllegalArgumentException

setValue

public void setValue(java.lang.Object object,
                     java.lang.Object value)
              throws java.lang.IllegalStateException,
                     java.lang.IllegalArgumentException
Specified by:
setValue in interface org.exolab.castor.mapping.FieldHandler
Specified by:
setValue in class org.exolab.castor.mapping.AbstractFieldHandler
Throws:
java.lang.IllegalStateException
java.lang.IllegalArgumentException