public class PropertyDescriptor extends FeatureDescriptor
Constructor and Description |
---|
PropertyDescriptor(String propertyName,
Class<?> beanClass)
Constructs a PropertyDescriptor for a property that follows
the standard Java convention by having getFoo and setFoo
accessor methods.
|
PropertyDescriptor(String propertyName,
Class<?> beanClass,
String readMethodName,
String writeMethodName)
This constructor takes the name of a simple property, and method
names for reading and writing the property.
|
PropertyDescriptor(String propertyName,
Method readMethod,
Method writeMethod)
This constructor takes the name of a simple property, and Method
objects for reading and writing the property.
|
Modifier and Type | Method and Description |
---|---|
PropertyEditor |
createPropertyEditor(Object bean)
Constructs an instance of a property editor using the current
property editor class.
|
boolean |
equals(Object obj)
Compares this
PropertyDescriptor against the specified object. |
Class<?> |
getPropertyEditorClass()
Gets any explicit PropertyEditor Class that has been registered
for this property.
|
Class<?> |
getPropertyType()
Returns the Java type info for the property.
|
Method |
getReadMethod()
Gets the method that should be used to read the property value.
|
Method |
getWriteMethod()
Gets the method that should be used to write the property value.
|
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
isBound()
Updates to "bound" properties will cause a "PropertyChange" event to
get fired when the property is changed.
|
boolean |
isConstrained()
Attempted updates to "Constrained" properties will cause a "VetoableChange"
event to get fired when the property is changed.
|
void |
setBound(boolean bound)
Updates to "bound" properties will cause a "PropertyChange" event to
get fired when the property is changed.
|
void |
setConstrained(boolean constrained)
Attempted updates to "Constrained" properties will cause a "VetoableChange"
event to get fired when the property is changed.
|
void |
setPropertyEditorClass(Class<?> propertyEditorClass)
Normally PropertyEditors will be found using the PropertyEditorManager.
|
void |
setReadMethod(Method readMethod)
Sets the method that should be used to read the property value.
|
void |
setWriteMethod(Method writeMethod)
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
public PropertyDescriptor(String propertyName, Class<?> beanClass) throws IntrospectionException
propertyName
- The programmatic name of the property.beanClass
- The Class object for the target bean. For
example sun.beans.OurButton.class.IntrospectionException
- if an exception occurs during
introspection.public PropertyDescriptor(String propertyName, Class<?> beanClass, String readMethodName, String writeMethodName) throws IntrospectionException
propertyName
- The programmatic name of the property.beanClass
- The Class object for the target bean. For
example sun.beans.OurButton.class.readMethodName
- The name of the method used for reading the property
value. May be null if the property is write-only.writeMethodName
- The name of the method used for writing the property
value. May be null if the property is read-only.IntrospectionException
- if an exception occurs during
introspection.public PropertyDescriptor(String propertyName, Method readMethod, Method writeMethod) throws IntrospectionException
propertyName
- The programmatic name of the property.readMethod
- The method used for reading the property value.
May be null if the property is write-only.writeMethod
- The method used for writing the property value.
May be null if the property is read-only.IntrospectionException
- if an exception occurs during
introspection.public Class<?> getPropertyType()
Class
object may describe
primitive Java types such as int
.
This type is returned by the read method
or is used as the parameter type of the write method.
Returns null
if the type is an indexed property
that does not support non-indexed access.Class
object that represents the Java type info,
or null
if the type cannot be determinedpublic Method getReadMethod()
public void setReadMethod(Method readMethod) throws IntrospectionException
readMethod
- The new read method.IntrospectionException
- if the read method is invalidpublic Method getWriteMethod()
public void setWriteMethod(Method writeMethod) throws IntrospectionException
writeMethod
- The new write method.IntrospectionException
- if the write method is invalidpublic boolean isBound()
public void setBound(boolean bound)
bound
- True if this is a bound property.public boolean isConstrained()
public void setConstrained(boolean constrained)
constrained
- True if this is a constrained property.public void setPropertyEditorClass(Class<?> propertyEditorClass)
propertyEditorClass
- The Class for the desired PropertyEditor.public Class<?> getPropertyEditorClass()
public PropertyEditor createPropertyEditor(Object bean)
If the property editor class has a public constructor that takes an Object argument then it will be invoked using the bean parameter as the argument. Otherwise, the default constructor will be invoked.
bean
- the source objectpublic boolean equals(Object obj)
PropertyDescriptor
against the specified object.
Returns true if the objects are the same. Two PropertyDescriptor
s
are the same if the read, write, property types, property editor and
flags are equivalent.equals
in class Object
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
public int hashCode()
Object.hashCode()
for a complete description.hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.