接口 | 描述 |
---|---|
AppletInitializer |
此接口旨在与java.beans.Beans.instantiate进行勾结。
|
BeanInfo |
使用
BeanInfo 接口创建一个
BeanInfo 类,并提供关于bean的方法,属性,事件和其他功能的显式信息。
|
Customizer |
定制器类提供了一个完整的自定义GUI来定制目标Java Bean。
|
DesignMode |
该接口旨在由java.beans.beancontext.BeanContext的实例实现或委派,以便传播到java.beans.beancontext.BeanContextChild实例(当前的“designTime”)属性的嵌套层次结构。
|
ExceptionListener |
通知内部异常的ExceptionListener。
|
PropertyChangeListener |
一旦bean更改“bound”属性,就会触发“PropertyChange”事件。
|
PropertyEditor |
PropertyEditor类提供对允许用户编辑给定类型的属性值的GUI的支持。
|
VetoableChangeListener |
当一个bean更改“constrained”属性时,VetoableChange事件就被触发。
|
Visibility |
在某些情况下,可能在GUI不可用的服务器上运行bean。
|
类 | 描述 |
---|---|
BeanDescriptor |
BeanDescriptor提供有关“bean”的全局信息,包括其Java类,其displayName等。
|
Beans |
这个类提供了一些通用的bean控制方法。
|
DefaultPersistenceDelegate |
DefaultPersistenceDelegate 是抽象
PersistenceDelegate 类的具体实现,是默认情况下用于没有信息可用的类的委托。
|
Encoder |
Encoder 是一个类,可用于创建根据其公共API编码JavaBean集合的状态的文件或流。
|
EventHandler |
EventHandler 类提供对动态生成事件侦听器的支持,该侦听器的方法执行涉及传入事件对象和目标对象的简单语句。
|
EventSetDescriptor |
EventSetDescriptor描述给定的Java Bean触发的一组事件。
|
Expression |
Expression 对象表示一个原始表达式,其中单个方法应用于目标和一组参数以返回结果 - 如
"a.getFoo()" 。
|
FeatureDescriptor |
FeatureDescriptor类是PropertyDescriptor,EventSetDescriptor和MethodDescriptor等的常见基类。
|
IndexedPropertyChangeEvent |
只要符合JavaBeans¢规范(“bean”)的组件更改绑定的索引属性,就会传递“IndexedPropertyChange”事件。
|
IndexedPropertyDescriptor |
IndexedPropertyDescriptor描述了一个像数组一样的属性,并且具有索引的读取和/或索引的写入方法来访问数组的特定元素。
|
Introspector |
Introspector类提供了一种标准的工具来了解目标Java Bean支持的属性,事件和方法。
|
MethodDescriptor |
MethodDescriptor描述了Java Bean支持的特定方法,用于从其他组件进行外部访问。
|
ParameterDescriptor |
ParameterDescriptor类允许bean实现者提供关于每个参数的附加信息,超出java.lang.reflect.Method类提供的低级类型信息。
|
PersistenceDelegate |
PersistenceDelegate类负责根据类的公共API中的方法来表达给定类的实例的状态。
|
PropertyChangeEvent |
只要bean更改“bound”或“constrained”属性,就会传递一个“PropertyChange”事件。
|
PropertyChangeListenerProxy |
它扩展了一类
EventListenerProxy 专门用于添加
PropertyChangeListener 具有“绑定”属性。
|
PropertyChangeSupport |
这是一个可以由支持绑定属性的bean使用的实用程序类。
|
PropertyDescriptor |
PropertyDescriptor描述了Java Bean通过一对访问器方法导出的一个属性。
|
PropertyEditorManager |
PropertyEditorManager可用于查找任何给定类型名称的属性编辑器。
|
PropertyEditorSupport |
这是一个帮助构建属性编辑器的支持类。
|
SimpleBeanInfo |
这是一个支持类,使人们更容易提供BeanInfo类。
|
Statement |
一个
Statement 对象表示一个原始语句,其中单个方法应用于目标和一组参数 - 如
"a.setFoo(b)" 。
|
VetoableChangeListenerProxy |
它扩展了一类
EventListenerProxy 专门用于添加
VetoableChangeListener 具有“受限”属性。
|
VetoableChangeSupport |
这是一个可以由支持约束属性的bean使用的实用程序类。
|
XMLDecoder |
该
XMLDecoder 类用于读取使用创建的XML文档
XMLEncoder ,并用于就像
ObjectInputStream 。
|
XMLEncoder |
XMLEncoder 类是ObjectOutputStream的补充替代
ObjectOutputStream ,可用于生成
JavaBean的文本表示,方式与
ObjectOutputStream 可用于创建
Serializable 对象的二进制表示
Serializable 。
|
异常 | 描述 |
---|---|
IntrospectionException |
内省时发生异常时抛出。
|
PropertyVetoException |
当对属性的建议更改表示不可接受的值时,将抛出PropertyVetoException。
|
Annotation Type | 描述 |
---|---|
ConstructorProperties |
一个构造函数上的注释,显示了该构造函数的参数对应于构造的对象的getter方法。
|
Transient |
表示当 Introspector 构造与注释代码元素相关联的PropertyDescriptor 或EventSetDescriptor 类时,应使用给定的value 声明一个名为“transient”的属性。
|
PropertyChangeEvent
)。
但是,此包中的大多数类都是由bean编辑器(即用于自定义和组合bean以创建应用程序的开发环境)使用的。
特别地,这些类帮助bean编辑器创建一个用户界面来定制该bean。
例如,bean可能包含bean编辑器可能不知道如何处理的特殊类型的属性。
通过使用PropertyEditor
接口,bean开发人员可以为此特殊类型提供编辑器。
为了最小化bean使用的资源,bean编辑器使用的类只有在编辑bean时加载。 当bean在应用程序中运行时,并不需要它们,因此不会被加载。 这些信息保存在所谓的bean-info(参见BeanInfo
)中。
除非明确说明,否则空值或空字符串不是此程序包中方法的有效参数。 如果使用这些参数,可能会看到异常。
java.beans
包提供了对长期持久性的支持 - 读取和写入一个bean作为其属性值的文本表示形式。
属性值被视为bean,并被递归地读取或写入以捕获它们的公开可用状态。
这种方法适用于长期存储,因为它仅依赖于公共API,而不是可能发生变更的私有实现。
Note: The persistence scheme cannot automatically instantiate custom inner classes, such as you might use for event handlers. By using theEventHandler
class instead of inner classes for custom event handlers, you can avoid this problem.
您分别使用XMLDecoder
和XMLEncoder
类读取和写入XML格式的bean。 持久性方案的一个显着特征是在bean中读取不需要bean的特殊知识。
另一方面,写出一个bean有时需要bean的类型的特殊知识。 如果bean的状态只能使用无参数构造函数和public getter和setter方法表示,则不需要特殊的知识。 否则,bean需要一个自定义持久性委托 - 负责编写特定类型的bean的对象。 从java.awt.Component
的JDK中提供的所有类以及其所有属性都将自动生成持久代理。
如果您需要(或选择)为bean提供持久代理,则可以使用DefaultPersistenceDelegate
实例或创建自己的PersistenceDelegate
子类来PersistenceDelegate
。 如果bean需要持久性委托的唯一原因是因为要使用属性值作为参数调用bean的构造函数,则可以使用单参数DefaultPersistenceDelegate
构造函数创建bean的持久性委托。 否则,您需要实现您自己的持久代理,您可能需要以下类:
PersistenceDelegate
Statement
和Expression
。
Statement
Expression
Statement
的子类用于返回值的方法。
创建持久代理后,您可以使用setPersistenceDelegate
方法进行XMLEncoder
。