public class MappedPropertyDescriptor
extends java.beans.PropertyDescriptor
getProperty(String key)
and
setProperty(String key, Object value)
,
where Property
must be replaced
by the name of the property.
PropertyDescriptor
Modifier and Type | Class | Description |
---|---|---|
private static class |
MappedPropertyDescriptor.MappedMethodReference |
Holds a
Method in a SoftReference so that it
it doesn't prevent any ClassLoader being garbage collected, but
tries to re-create the method if the method reference has been
released. |
Modifier and Type | Field | Description |
---|---|---|
private java.lang.ref.Reference<java.lang.Class<?>> |
mappedPropertyTypeRef |
The underlying data type of the property we are describing.
|
private MappedPropertyDescriptor.MappedMethodReference |
mappedReadMethodRef |
The reader method for this property (if any).
|
private MappedPropertyDescriptor.MappedMethodReference |
mappedWriteMethodRef |
The writer method for this property (if any).
|
private static java.lang.Class<?>[] |
STRING_CLASS_PARAMETER |
The parameter types array for the reader method signature.
|
Constructor | Description |
---|---|
MappedPropertyDescriptor(java.lang.String propertyName,
java.lang.Class<?> beanClass) |
Constructs a MappedPropertyDescriptor for a property that follows
the standard Java convention by having getFoo and setFoo
accessor methods, with the addition of a String parameter (the key).
|
MappedPropertyDescriptor(java.lang.String propertyName,
java.lang.Class<?> beanClass,
java.lang.String mappedGetterName,
java.lang.String mappedSetterName) |
This constructor takes the name of a mapped property, and method
names for reading and writing the property.
|
MappedPropertyDescriptor(java.lang.String propertyName,
java.lang.reflect.Method mappedGetter,
java.lang.reflect.Method mappedSetter) |
This constructor takes the name of a mapped property, and Method
objects for reading and writing the property.
|
Modifier and Type | Method | Description |
---|---|---|
private static java.lang.String |
capitalizePropertyName(java.lang.String s) |
Return a capitalized version of the specified property name.
|
private void |
findMappedPropertyType() |
Introspect our bean class to identify the corresponding getter
and setter methods.
|
java.lang.Class<?> |
getMappedPropertyType() |
Gets the Class object for the property values.
|
java.lang.reflect.Method |
getMappedReadMethod() |
Gets the method that should be used to read one of the property value.
|
java.lang.reflect.Method |
getMappedWriteMethod() |
Gets the method that should be used to write one of the property value.
|
private static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
int parameterCount) |
Find a method on a class with a specified number of parameters.
|
private static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>[] parameterTypes) |
Find a method on a class with a specified parameter list.
|
private static java.lang.reflect.Method |
internalGetMethod(java.lang.Class<?> initial,
java.lang.String methodName,
int parameterCount) |
Find a method on a class with a specified number of parameters.
|
void |
setMappedReadMethod(java.lang.reflect.Method mappedGetter) |
Sets the method that should be used to read one of the property value.
|
void |
setMappedWriteMethod(java.lang.reflect.Method mappedSetter) |
Sets the method that should be used to write the property value.
|
attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue, toString
private java.lang.ref.Reference<java.lang.Class<?>> mappedPropertyTypeRef
private MappedPropertyDescriptor.MappedMethodReference mappedReadMethodRef
private MappedPropertyDescriptor.MappedMethodReference mappedWriteMethodRef
private static final java.lang.Class<?>[] STRING_CLASS_PARAMETER
public MappedPropertyDescriptor(java.lang.String propertyName, java.lang.Class<?> beanClass) throws java.beans.IntrospectionException
propertyName
- The programmatic name of the property.beanClass
- The Class object for the target bean. For
example sun.beans.OurButton.class.java.beans.IntrospectionException
- if an exception occurs during
introspection.public MappedPropertyDescriptor(java.lang.String propertyName, java.lang.Class<?> beanClass, java.lang.String mappedGetterName, java.lang.String mappedSetterName) throws java.beans.IntrospectionException
propertyName
- The programmatic name of the property.beanClass
- The Class object for the target bean. For
example sun.beans.OurButton.class.mappedGetterName
- The name of the method used for
reading one of the property values. May be null if the
property is write-only.mappedSetterName
- The name of the method used for writing
one of the property values. May be null if the property is
read-only.java.beans.IntrospectionException
- if an exception occurs during
introspection.public MappedPropertyDescriptor(java.lang.String propertyName, java.lang.reflect.Method mappedGetter, java.lang.reflect.Method mappedSetter) throws java.beans.IntrospectionException
propertyName
- The programmatic name of the property.mappedGetter
- The method used for reading one of
the property values. May be be null if the property
is write-only.mappedSetter
- The method used for writing one the
property values. May be null if the property is read-only.java.beans.IntrospectionException
- if an exception occurs during
introspection.public java.lang.Class<?> getMappedPropertyType()
This is the type that will be returned by the mappedReadMethod.
public java.lang.reflect.Method getMappedReadMethod()
public void setMappedReadMethod(java.lang.reflect.Method mappedGetter) throws java.beans.IntrospectionException
mappedGetter
- The mapped getter method.java.beans.IntrospectionException
- If an error occurs finding the
mapped propertypublic java.lang.reflect.Method getMappedWriteMethod()
public void setMappedWriteMethod(java.lang.reflect.Method mappedSetter) throws java.beans.IntrospectionException
mappedSetter
- The mapped setter method.java.beans.IntrospectionException
- If an error occurs finding the
mapped propertyprivate void findMappedPropertyType() throws java.beans.IntrospectionException
java.beans.IntrospectionException
private static java.lang.String capitalizePropertyName(java.lang.String s)
s
- The property nameprivate static java.lang.reflect.Method internalGetMethod(java.lang.Class<?> initial, java.lang.String methodName, int parameterCount)
private static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, int parameterCount) throws java.beans.IntrospectionException
java.beans.IntrospectionException
private static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] parameterTypes) throws java.beans.IntrospectionException
java.beans.IntrospectionException
Copyright (c) 2000-2008 - Apache Software Foundation