此文章的java环境:1.8.0_131
本人出于学习阶段,如有不正请指正
由于FeatureDescriptor是基类,所以没有太多和实际相关的用法,比较简单,没有方法需要详细解析 ,其他所有实现了FeatureDescriptor的类或多或少都使用了FeatureDescriptor的方法,这些方法发多数都是一些关于当前类或者方法类型的描述,例如expert代表了专家类型,hidden代表了是否不可见。
API对该类的描述:
FeatureDescriptor 类是 PropertyDescriptor、EventSetDescriptor 和 MethodDescriptor 等的公共基类。
它支持一些可以设置和检索任意的内省描述符的公共信息。此外,它还提供了一种扩展机制,从而任意属性/值对都可以与设计特性相关联。
attributeNames()
来自API的解释:得与语言环境无关的此特性名称的枚举。
调用的是内部方法getTable()获取所有内部属性的一个HashTable,最后调用keys()方法来获取一个枚举类。
有一点需要注意的是,这里面获取到的属性仅当初始化FeatureDescriptor时会进行add外,其余方法并不会对其属性表进行增删
setDisplayName(String displayName)
来自API的解释:设88 置此特性的本地化显示名称。
getDisplayName()
来自API的解释:得此特性的本地化显示名称。
这个方法默认会返回getName的值,只有当displayName的值不为空的时候会返回displayName
而displayName的改变只有在初始化类或者调用setDisplayName时会改变
setName(String name)
来自API的解释:设置此特性的编程名称。
getName()
来自API的解释:获得此特性的编程名称。
setShortDescription(String text)
可以将简短描述性字符串与某一特性相关联。
getShortDescription()
来自API的解释:得此特性的简短描述。
shortDescription当且仅当调用set方法和调用构造器时其值有变化,此处的返回值为:shortDescription -> displayName -> name
setValue(String attributeName, Object value)
来自API的解释:某一指定属性与此特性相关联。
getValue(String attributeName)
来自API的解释:利用此特性检索指定属性。
此处的值依然是来自于属性表(private的hashtable:table)
setExpert(boolean expert)
来自API的解释: "expert" 标志用于区分打算供高级用户使用的特性和那些打算供普通用户使用的特性。
isExpert()
来自API的解释:"expert" 标志用于区分那些打算供高级用户使用的特性与那些打算供普通用户使用的特性。
此处的值依然来源于set方法和构造器
setHidden(boolean hidden)
来自API的解释:"hidden" 标志用于标识只打算供工具使用、不应对人类开放的特性。
isHidden()
来自API的解释:hidden" 标志用于标识只打算供工具使用、不应对人类开放的特性。
isPreferred()
来自API的解释:"preferred" 标志用于标识呈现给用户的特别重要的特性。
setPreferred(boolean preferred)
来自API的解释:"preferred" 标志用于标识呈现给用户的特别重要的特性。
java.beans.ParameterDescriptor目前所有的特性都来自于FeatureDescriptor,除了构造器之外什么都没有