org.apache.tuscany.sca.databinding.jaxb
Class JAXBPropertyDescriptor

java.lang.Object
  extended by org.apache.tuscany.sca.databinding.jaxb.JAXBPropertyDescriptor
All Implemented Interfaces:
java.lang.Comparable<JAXBPropertyDescriptor>

public class JAXBPropertyDescriptor
extends java.lang.Object
implements java.lang.Comparable<JAXBPropertyDescriptor>

A PropertyDescriptor provides acesss to a bean property. Values can be queried/changed using the read and writer methods of the PropertyDescriptor.

A PropertyDescriptorPlus object wraps a PropertyDescriptor and supplies enhanced set/get methods that match JAXB semantis.

For example, the set(..) method is smart enough to add lists, arrays and atomic values on JAXB beans.

The PropertyDescriptorPlus object also stores the xmlName of the property.


Method Summary
 int compareTo(JAXBPropertyDescriptor o)
           
 java.lang.Object get(java.lang.Object targetBean)
          Get the object
 java.lang.String getPropertyName()
           
 java.lang.Class<?> getPropertyType()
           
 java.lang.String getXmlName()
           
 javax.xml.namespace.QName getXmlQName()
           
 void set(java.lang.Object targetBean, java.lang.Object propValue)
          Set the object
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

compareTo

public int compareTo(JAXBPropertyDescriptor o)
Specified by:
compareTo in interface java.lang.Comparable<JAXBPropertyDescriptor>

getXmlName

public java.lang.String getXmlName()
Returns:
xmlname

getXmlQName

public javax.xml.namespace.QName getXmlQName()

getPropertyType

public java.lang.Class<?> getPropertyType()
Returns:
property type

getPropertyName

public java.lang.String getPropertyName()
Returns:
property name

get

public java.lang.Object get(java.lang.Object targetBean)
                     throws java.lang.reflect.InvocationTargetException,
                            java.lang.IllegalAccessException
Get the object

Parameters:
targetBean -
Returns:
Object for this property or null
Throws:
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException

set

public void set(java.lang.Object targetBean,
                java.lang.Object propValue)
         throws java.lang.reflect.InvocationTargetException,
                java.lang.IllegalAccessException,
                JAXBWrapperException
Set the object

Parameters:
targetBean -
propValue -
Throws:
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
JAXBWrapperException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object