种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

java.beans

(2017-12-02 00:23:55) 百科综合

java.beans

bean(即Java bean)就是Java的类,或者说,就是Java语言的组件,充分体现了Java语言平台独立和面向对象编程的优势。JavaBeans是一代网路程式设计师的资源。它是Java语言的组件:bean的接口和通讯部分的标準,实现了bean的复用。

介绍

包含与开发 beans 有关的类,即基于 JavaBeansTM架构的组件。少数类可由bean使用,也能以应用程式的形式运行。例如,event 类由激发属性和禁止更改事件的 bean 使用(参见 PropertyChangeEvent)。不过,此包中的大多数类由 bean 编辑器(即自定义 bean 并将其汇集起来以创建应用程式的开发环境)使用。特别要指出的是,这些类帮助 bean 编辑器创建用户可以用来自定义 bean 的用户界面。例如,bean 可能包含 bean 编辑器也许不知道如何处理的特殊类型的属性。通过使用 PropertyEditor 接口,bean 开发人员可以为此特殊类型提供一个编辑器。
为了最大限度地减少 bean 使用的资源,只在要编辑 bean 时载入 bean 编辑器使用的类。当 bean 以应用程式的形式运行时,不需要这些类,所以不用载入它们。此信息在称为 bean-info 的类中(参见 BeanInfo)。
除非显式声明,否则 null值或空String对于此包中的方法是无效参数。如果使用这些参数,可能将引发异常。

长期持久性

从 v1.4 开始,java.beans 包提供了对长期持久性 的支持,即以其属性值的文本表示形式读取或写入 bean。这些属性值被视为 bean,它们被递归地读取或写入,以捕获其公共可用状态。此方法适用于长期存储,因为它只依赖于公共 API 而不是很可能发生更改的私有实现。
--------------------------------------------------------------------------------
注: 持久性方案无法自动实例化自定义内部类,比如用于事件处理程式的类。通过使用 EventHandler 类而不是自定义事件处理程式的内部类,可以避免此问题。
--------------------------------------------------------------------------------
可分别使用 XMLDecoder 和 XMLEncoder 类读取和写入XML格式的 bean。持久性方案的一个显着特性是,读入 bean 不需要该 bean 的特定信息。
另一方面,读出 bean 有时需要 bean 类型的特定信息。如果可以只使用属性的无参数构造方法以及公共 getter 和 setter 方法表达 bean 的状态,则无需 bean 的特定信息。否则,bean 需要一个自定义持久委託,即负责写出特殊类型的 bean 的对象。从 java.awt.Component 中遗传的JDK中提供的所有类及其所有属性都将自动拥有持久委託。
如果需要(或选择)为 bean 提供持久委託,则可以通过使用 DefaultPersistenceDelegate 实例或通过创建自己的 PersistenceDelegate 子类来实现。如果 bean 需要持久委託的惟一原因是因为用户想调用 bean 使用属性值作为参数的构造方法,则可以使用无参数的 DefaultPersistenceDelegate 构造方法创建 bean 的持久委託。否则,用户需要实现自己的持久委託,对此,可能需要以下类:
PersistenceDelegate
这是一个抽象类,所有持久委託都是从它遗传的。子类应该使用它所知的 bean 类型信息来提供创建 bean 和恢复其状态所需的任何 Statement 和 Expression。
Statement
表示某一对象上的单个方法的调用。包括该方法的参数集合。
Expression
用于返回一个值的那些方法的 Statement 的子类。
一旦创建了一个持久委託,就可以使用 XMLEncoder 的 setPersistenceDelegate 方法注册它。
相关文档
有关概述、架构和教程文档的信息,请参阅:
JavaBeans,《The Java Tutorial》中的一部分。
Long-Term Persistence,The Swing Connection 中的一篇文章

接口摘要

AppletInitializer
此接口设计用于与 java.beans.Beans.instantiate 联合使用。
BeanInfo
希望提供有关其 bean 的显式信息的 bean 实现者可以提供某个 BeanInfo 类,该类实现此 BeanInfo 接口并提供有关其 bean 的方法、属性、事件等显式信息。
Customizer
customizer 类提供一个用来自定义目标 Java Bean 的完全自定义 GUI。
DesignMode
此接口由 java.beans.beancontext.BeanContext 的实例实现或委託,以便将当前的 "designTime" 属性传播到 java.beans.beancontext.BeanContextChild 实例的嵌套层次结构。
ExceptionListener
ExceptionListener 是在发生内部异常时获得通知。
PropertyChangeListener
无论 bean 何时更改 "bound" 属性,都会激发一个 "PropertyChange" 事件。
PropertyEditor
PropertyEditor 类为希望允许用户编辑某个给定类型的属性值的 GUI 提供支持。
VetoableChangeListener
只要 bean 更改 "constrained" 属性,都将会激发一个 VetoableChange 事件。
Visibility
在某些情况下,bean 可能运行在 GUI 不可用的伺服器上。

类摘要

BeanDescriptor
BeanDescriptor 提供有关 "bean" 的全局信息,其中包括其 Java 类、其 displayName 等等。
Beans
此类提供一些通用的 bean 控制方法。
DefaultPersistenceDelegate
DefaultPersistenceDelegate 是 PersistenceDelegate 抽象类的具体实现,是没有关于其可用信息的类在默认情况下使用的委託。
Encoder
Encoder 是这样的类,它可用于创建根据其公共 API 对 JavaBeans 集合状态进行编码的档案或流。
EventHandler
EventHandler 类为动态生成事件侦听器提供支持,这些侦听器的方法执行一条涉及传入事件对象和目标对象的简单语句。
EventSetDescriptor
描述给定 Java bean 激发的一组事件的 EventSetDescriptor。
Expression
Expression 对象表示基本表达式,其中将单个方法套用于某一目标和一组参数,以返回结果,与在 "a.getFoo()" 中一样。
FeatureDescriptor
FeatureDescriptor 类是 PropertyDescriptor、EventSetDescriptor 和 MethodDescriptor 等的公共基类。
IndexedPropertyChangeEvent
无论何时遵守 JavaBeans 规範的组件("bean")更改绑定 (bound) 索引 (indexed) 属性,都会提交一个 "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
这是一个实用工具类,支持绑定 (bound) 属性的 bean 可以使用该类。
PropertyDescriptor
PropertyDescriptor 描述 Java Bean 通过一对存储器方法导出的一个属性。
PropertyEditorManager
PropertyEditorManager 可用于查找任何给定类型名称的属性编辑器。
PropertyEditorSupport
这是一个帮助构建属性编辑器的支持类。
SimpleBeanInfo
这是一个使得用户提供 BeanInfo 类更容易的支持类。
Statement
Statement 对象表示基本语句,其中将单个方法套用于某一目标和一组参数,以返回结果,比如 "a.setFoo(b)"。
VetoableChangeListenerProxy
扩展 EventListenerProxy 的类,特别适用于将 VetoableChangeListener 与 "constrained" 属性相关联。
VetoableChangeSupport
这是一个实用工具类,支持约束 (constrained) 属性的 bean 可以使用此类。
XMLDecoder
XMLDecoder 类用于读取使用 XMLEncoder 创建的 XML 文档,用途类似于 ObjectInputStream。
XMLEncoder
XMLEncoder 类是 ObjectOutputStream 的互补替换,可用于生成 JavaBean 的文本表示形式,所使用方式与用 ObjectOutputStream 创建 Serializable 对象的二进制表示形式的方式相同。

标 签

搜索
随机推荐

Powered By 种豆资源网||