- java.lang.Object
-
- java.beans.FeatureDescriptor
-
- java.beans.PropertyDescriptor
-
- 已知直接子类:
-
IndexedPropertyDescriptor
public class PropertyDescriptor extends FeatureDescriptor
PropertyDescriptor描述了Java Bean通过一对访问器方法导出的一个属性。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 Constructor 描述 PropertyDescriptor(String propertyName, Class<?> beanClass)
通过使用getFoo和setFoo访问器方法,为遵循标准Java约定的属性构造PropertyDescriptor。PropertyDescriptor(String propertyName, Class<?> beanClass, String readMethodName, String writeMethodName)
该构造函数使用简单属性的名称,以及读取和写入属性的方法名称。PropertyDescriptor(String propertyName, 方法 readMethod, 方法 writeMethod)
此构造函数使用简单属性的名称,以及用于读取和写入属性的Method对象。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 PropertyEditor
createPropertyEditor(Object bean)
使用当前的属性编辑器类构造一个属性编辑器的实例。boolean
equals(Object obj)
将此PropertyDescriptor
与指定对象进行比较。Class<?>
getPropertyEditorClass()
获取已为此属性注册的任何显式PropertyEditor类。Class<?>
getPropertyType()
返回属性的Java类型信息。方法
getReadMethod()
获取应该用于读取属性值的方法。方法
getWriteMethod()
获取应用于写入属性值的方法。int
hashCode()
返回对象的哈希码值。boolean
isBound()
对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。boolean
isConstrained()
尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。void
setBound(boolean bound)
对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。void
setConstrained(boolean constrained)
尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。void
setPropertyEditorClass(Class<?> propertyEditorClass)
通常使用PropertyEditorManager可以找到PropertyEditors。void
setReadMethod(方法 readMethod)
设置应用于读取属性值的方法。void
setWriteMethod(方法 writeMethod)
设置应用于写入属性值的方法。-
Methods inherited from class java.beans.FeatureDescriptor
attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue, toString
-
-
-
-
构造方法详细信息
-
PropertyDescriptor
public PropertyDescriptor(String propertyName, Class<?> beanClass) throws IntrospectionException
通过使用getFoo和setFoo访问器方法,为遵循标准Java约定的属性构造PropertyDescriptor。 因此,如果参数名称为“fred”,则将假定writer方法为“setFred”,reader方法为“getFred”(或“isFred”为布尔属性)。 请注意,属性名称应以小写字符开头,它将在方法名称中大写。- 参数
-
propertyName
- 属性的编程名称。 -
beanClass
- 目标bean的Class对象。 例如sun.beans.OurButton.class。 - 异常
-
IntrospectionException
- 如果IntrospectionException
期间发生异常。
-
PropertyDescriptor
public PropertyDescriptor(String propertyName, Class<?> beanClass, String readMethodName, String writeMethodName) throws IntrospectionException
该构造函数使用简单属性的名称,以及读取和写入属性的方法名称。- 参数
-
propertyName
- 属性的编程名称。 -
beanClass
- 目标bean的Class对象。 例如sun.beans.OurButton.class。 -
readMethodName
- 用于读取属性值的方法的名称。 如果属性是只写的,可能为null。 -
writeMethodName
- 用于写入属性值的方法的名称。 如果属性是只读的,则可以为null。 - 异常
-
IntrospectionException
- 如果IntrospectionException
期间发生异常。
-
PropertyDescriptor
public PropertyDescriptor(String propertyName, 方法 readMethod, 方法 writeMethod) throws IntrospectionException
此构造函数使用简单属性的名称,以及用于读取和写入属性的Method对象。- 参数
-
propertyName
- 属性的编程名称。 -
readMethod
- 用于读取属性值的方法。 如果属性是只写的,可能为null。 -
writeMethod
- 用于写入属性值的方法。 如果属性是只读的,则可以为null。 - 异常
-
IntrospectionException
- 如果IntrospectionException
期间发生异常。
-
-
方法详细信息
-
getPropertyType
public Class<?> getPropertyType()
返回属性的Java类型信息。 请注意,Class
对象可能会描述原始的Java类型,如int
。 这种类型是由read方法返回的,或者用作write方法的参数类型。 如果类型是不支持非索引访问的索引属性,则返回null
。- 结果
-
表示Java类型信息的
Class
对象,如果类型无法确定,null
-
getReadMethod
public 方法 getReadMethod()
获取应该用于读取属性值的方法。- 结果
- 应该用来读取属性值的方法。 如果属性无法读取,可能返回null。
-
setReadMethod
public void setReadMethod(方法 readMethod) throws IntrospectionException
设置应用于读取属性值的方法。- 参数
-
readMethod
- 新的阅读方法。 - 异常
-
IntrospectionException
- 如果读取方法无效 - 从以下版本开始:
- 1.2
-
getWriteMethod
public 方法 getWriteMethod()
获取应用于写入属性值的方法。- 结果
- 应该用于写入属性值的方法。 如果属性无法写入,则返回null。
-
setWriteMethod
public void setWriteMethod(方法 writeMethod) throws IntrospectionException
设置应用于写入属性值的方法。- 参数
-
writeMethod
- 新的写入方法。 - 异常
-
IntrospectionException
- 如果写入方法无效 - 从以下版本开始:
- 1.2
-
isBound
public boolean isBound()
对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。- 结果
- 如果这是绑定属性,则为true。
-
setBound
public void setBound(boolean bound)
对“绑定”属性的更新将导致在属性更改时触发“PropertyChange”事件。- 参数
-
bound
- 如果这是绑定属性,bound
真。
-
isConstrained
public boolean isConstrained()
尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。- 结果
- 如果这是受限制的属性,则为真。
-
setConstrained
public void setConstrained(boolean constrained)
尝试更新“受限制”属性将导致在属性更改时触发“VetoableChange”事件。- 参数
-
constrained
- 如果这是受限属性,constrained
真。
-
setPropertyEditorClass
public void setPropertyEditorClass(Class<?> propertyEditorClass)
通常使用PropertyEditorManager可以找到PropertyEditors。 但是,如果由于某种原因想要将特定的PropertyEditor与给定的属性相关联,那么可以使用此方法。- 参数
-
propertyEditorClass
- 所需PropertyEditor的类。
-
getPropertyEditorClass
public Class<?> getPropertyEditorClass()
获取已为此属性注册的任何显式PropertyEditor类。- 结果
- 任何已经为此属性注册的显式PropertyEditor类。 通常这将返回“null”,表示没有注册特殊编辑器,因此应该使用PropertyEditorManager来找到一个合适的PropertyEditor。
-
createPropertyEditor
public PropertyEditor createPropertyEditor(Object bean)
使用当前的属性编辑器类构造一个属性编辑器的实例。如果属性编辑器类具有接受Object参数的公共构造函数,那么将使用bean参数作为参数来调用它。 否则,将调用默认构造函数。
- 参数
-
bean
- 源对象 - 结果
- 属性编辑器实例,如果属性编辑器尚未定义或无法创建,则为null
- 从以下版本开始:
- 1.5
-
equals
public boolean equals(Object obj)
将此PropertyDescriptor
与指定对象进行比较。 如果对象相同,则返回true。 如果读取,写入,属性类型,属性编辑器和标志等同,则两个PropertyDescriptor
是相同的。- 重写:
-
equals
在Object
- 参数
-
obj
- 与之比较的参考对象。 - 结果
-
如果此对象与obj参数相同,
true
; 否则为false
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回对象的哈希码值。 有关完整的描述,请参阅Object.hashCode()
。- 重写:
-
hashCode
在Object
- 结果
- 该对象的哈希码值。
- 从以下版本开始:
- 1.5
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-