public class MappedPropertyDescriptor
extends java.beans.PropertyDescriptor
where getProperty(String key)
and
setProperty(String key, Object value)
,
Property
must be replaced
by the name of the property.
PropertyDescriptor
Modifier and Type | Class and 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 and Description |
---|---|
private java.lang.ref.Reference |
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 and 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 and 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,
java.lang.Class[] parameterTypes)
Find a method on a class with a specified parameter list.
|
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 |
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.
|
createPropertyEditor, equals, getPropertyEditorClass, getPropertyType, getReadMethod, getWriteMethod, hashCode, isBound, isConstrained, setBound, setConstrained, setPropertyEditorClass, setReadMethod, setWriteMethod
private java.lang.ref.Reference 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