org.apache.tapestry5.ioc.services
Interface PropertyAdapter

All Superinterfaces:
AnnotationProvider
All Known Implementing Classes:
PropertyAdapterImpl

public interface PropertyAdapter
extends AnnotationProvider

Provides access to a single property within a class. Acts as an AnnotationProvider; when searching for annotations, the read method (if present) is checked first, followed by the write method, followed by the underlying field (when the property name matches the field name).

See Also:
ClassPropertyAdapter

Method Summary
 Object get(Object instance)
          Reads the property value.
 Class getBeanType()
          Returns the type of bean to which this property belongs.
 ClassPropertyAdapter getClassAdapter()
          Returns the ClassPropertyAdapter that provides access to other properties defined by the same class.
 String getName()
          Returns the name of the property.
 Method getReadMethod()
          Returns the method used to read the property, or null if the property is not readable.
 Class getType()
          Returns the type of the property.
 Method getWriteMethod()
          Returns the method used to update the property, or null if the property is not writeable.
 boolean isCastRequired()
          Returns true if the return type of the read method is not the same as the property type.
 boolean isRead()
          Returns true if the property is readable (i.e., has a getter method).
 boolean isUpdate()
          Returns true if the property is writeable (i.e., has a setter method).
 void set(Object instance, Object value)
          Updates the property value.
 
Methods inherited from interface org.apache.tapestry5.ioc.AnnotationProvider
getAnnotation
 

Method Detail

getName

String getName()
Returns the name of the property.


isRead

boolean isRead()
Returns true if the property is readable (i.e., has a getter method).


getReadMethod

Method getReadMethod()
Returns the method used to read the property, or null if the property is not readable.


isUpdate

boolean isUpdate()
Returns true if the property is writeable (i.e., has a setter method).


getWriteMethod

Method getWriteMethod()
Returns the method used to update the property, or null if the property is not writeable.


get

Object get(Object instance)
Reads the property value.

Parameters:
instance - to read from
Throws:
UnsupportedOperationException - if the property is write only

set

void set(Object instance,
         Object value)
Updates the property value. The provided value must not be null if the property type is primitive, and must otherwise be of the proper type.

Parameters:
instance - to update
value - new value for the property
Throws:
UnsupportedOperationException - if the property is read only

getType

Class getType()
Returns the type of the property.


isCastRequired

boolean isCastRequired()
Returns true if the return type of the read method is not the same as the property type. This can occur when the property has been defined using generics, in which case, the method's type may be Object when the property type is something more specific. This method is primarily used when generating runtime code related to the property.


getClassAdapter

ClassPropertyAdapter getClassAdapter()
Returns the ClassPropertyAdapter that provides access to other properties defined by the same class.


getBeanType

Class getBeanType()
Returns the type of bean to which this property belongs. This is the same as ClassPropertyAdapter.getBeanType().



Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.