当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.beans.Introspector

java.lang.Object
   |
   +----java.beans.Introspector

public class Introspector
extends Object

Introspector 类提供工具获得某个目标 Java Bean 支持的特性、事件和方法的一个标准方式。

对于该三类信息中的每类,Introspector 将通过寻找显式或隐式信息来分别分析 bean 的类和父类,并使用该信息建立一个综合描述目标 bean 的 BeanInfo 对象。

对于每个类“Foo”, 当查询信息时若存在一个相应的“ FooBeanInfo ”类来提供非空值,则显式信息是可用的。通过取得目标 bean 类的完全包合格名并追加“ BeanInfo ”形成一个新类名的方式来查找 Beaninfo 类。若失败,则获取该名的最后的类名组件并在 BeanInfo 包搜索路径所指定的每个包中查找该类。

因此对于象“sun.xyz.OurButton”的类,首先查看名为“ sun.xyz.OurButtonBeanInfo”的 BeanInfo 类,若失败则在 BeanInfo 搜索路径中的每个包里查询 OurButtonBeanInfo 类。缺省搜索路径即意味着查找“sun.beans.infos.OurButtonBeanInfo”。

若一个类提供关于自身的显式 BeanInfo ,则将其添加到分析任何导出类所获得的 BeanInfo 信息中,但该显式信息将被视为当前类及其基类的确切信息且不能处理任何进一步的父类链。

若不能在某个类上找到显式 BeanInfo , 则使用低级反映来学习类方法并应用标准设计模式来标识特性存取器、事件源或公有方法。然后着手分析该类的父类并添加从它来的信息 (可能在上级父类链上)。


方法索引

decapitalize(String)
取得一个字符串并将其转换成一般的 Java 变量名大写形式的工具方法。
getBeanInfo(Class)
内省一个 Java bean 并获得其所有特性、显示方法和事件。
getBeanInfo(Class, Class)
内省一个 Java bean 并获得其所有特性、显示方法、一个给定“停止”点。
getBeanInfoSearchPath()
setBeanInfoSearchPath(String[])
改变将用于查找 BeanInfo 类的包名列表。

方法

getBeanInfo
 public static BeanInfo getBeanInfo(Class beanClass) throws IntrospectionException
内省一个 Java bean 并获得其所有特性、显示方法和事件。

参数:
beanClass - 待分析的 bean 类。
返回值:
描述目标 bean 的一个 BeanInfo 对象。
抛出: IntrospectionException
若内省时发生异常。
getBeanInfo
 public static BeanInfo getBeanInfo(Class beanClass,
                                    Class stopClass) throws IntrospectionException
内省一个 Java bean 并获得其所有特性、显示方法、一个给定“停止”点。

参数:
bean - 待分析的 bean 类。
stopClass - 停止分析的基类。在分析中将忽略 stopClass 中或其基类中的任何方法/特性/事件。
抛出: IntrospectionException
若内省时发生异常。
decapitalize
 public static String decapitalize(String name)
取得一个字符串并将其转换成一般的 Java 变量名大写形式的工具方法。这一般意味将第一个字符从大写转换成小写,但在特殊的 (不通常的) 情况下,当有多于一个字符并且第一和第二个字符都是大写时不处理。

因此“FooBah”变为“fooBah”,“X”变为“x”, 但“URL”仍是“URL”。

参数:
name - 待非大写化的字符串。
返回值:
字符串的非大写版本。
getBeanInfoSearchPath
 public static String[] getBeanInfoSearchPath()
返回值:
为查找 BeanInfo 类将搜索的包名数组。

初始设置为 {"sun.beans.infos"}。

setBeanInfoSearchPath
 public static void setBeanInfoSearchPath(String path[])
改变将用于查找 BeanInfo 类的包名列表。

参数:
path - 包名数组。

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)