org.directwebremoting.extend
Interface Property

All Known Implementing Classes:
FieldProperty, H2PropertyDescriptorProperty, H3PropertyDescriptorProperty, PlainProperty, PropertyDescriptorProperty

public interface Property

It would be nice if PropertyDescriptor, and the various reflection types like Member had a common supertype, but they don't. This is it.

Author:
Joe Walker [joe at getahead dot ltd dot uk]

Method Summary
 java.lang.String getName()
          Gets the name of this property
 java.lang.Class getPropertyType()
          What type does this property
 java.lang.reflect.Method getSetter()
          This is a nasty hack - TypeHintContext needs a Method.
 java.lang.Object getValue(java.lang.Object bean)
          Get the value of this property of the passed in java bean
 void setValue(java.lang.Object bean, java.lang.Object value)
          Set the value of this property of the passed in java bean
 

Method Detail

getName

java.lang.String getName()
Gets the name of this property

Returns:
The property name

getPropertyType

java.lang.Class getPropertyType()
What type does this property

Returns:
The type of object that will be returned by getValue(Object)

getValue

java.lang.Object getValue(java.lang.Object bean)
                          throws MarshallException
Get the value of this property of the passed in java bean

Parameters:
bean - The bean to introspect
Returns:
The value assigned to this property of the passed in bean
Throws:
MarshallException - If the reflection access fails

setValue

void setValue(java.lang.Object bean,
              java.lang.Object value)
              throws MarshallException
Set the value of this property of the passed in java bean

Parameters:
bean - The bean to introspect
value - The value assigned to this property of the passed in bean
Throws:
MarshallException - If the reflection access fails

getSetter

java.lang.reflect.Method getSetter()
This is a nasty hack - TypeHintContext needs a Method. If you are implementing this and not proxying to a PropertyDescriptor then you can probably return null. We should probably refactor TypeHintContext to use Property

Returns:
A setter method if one is available, or null otherwise