JavaTM 2
Platform
Std. Ed. v1.4.0

パッケージ java.beans

Bean (JavaBeansTM アーキテクチャに基づいたコンポーネント) の開発に関連するクラスが含まれています。

参照:
          説明

インタフェースの概要
AppletInitializer このインタフェースは、java.beans.Beans.instantiate とともに動作するように設計されています。
BeanInfo bean の実装者は、この BeanInfo インタフェースを実装する BeanInfo クラスを提供して、自分の bean のメソッド、プロパティ、イベントなどに関する明示的な情報を提供することができます。
Customizer カスタマイザクラスは、ターゲット Java Bean をカスタマイズするための完全なカスタム GUI を提供します。
DesignMode このインタフェースは、java.beans.beancontext.BeanContextChild のインスタンスの入れ子になっている階層に現在の designTime プロパティを送るために、java.beans.beancontext.BeanContext のインスタンスによって実装、または java.beans.beancontext.BeanContext のインスタンスから委譲されます。
ExceptionListener ExceptionListener は、内部例外の通知を受け取ります。
PropertyChangeListener PropertyChange イベントは、bean が「バウンド」プロパティを変更するたびにトリガされます。
PropertyEditor PropertyEditor クラスは、ユーザが指定の型のプロパティ値を編集するための GUI のサポートを提供します。
VetoableChangeListener VetoableChange イベントは、bean が「制約」プロパティを変更するたびにトリガされます。
Visibility 使用する環境によっては、bean は GUI を使えないサーバ上での実行も可能です。
 

クラスの概要
BeanDescriptor BeanDescriptor は、Java クラスや displayName など "bean" に関するグローバルな情報を提供します。
Beans このクラスは、いくつかの多目的 bean 制御メソッドを提供します。
DefaultPersistenceDelegate DefaultPersistenceDelegate は、抽象クラス PersistenceDelegate の固定実装であり、情報の得られないクラスがデフォルトで使用する委譲です。
Encoder Encoder クラスは、公開 API を使って複数の JavaBeans の状態をコード化するファイルまたはストリームを作成する際に使用されます。
EventHandler EventHandler クラスは、受信イベントオブジェクトとターゲットオブジェクトを含んだ単純な文を実行するメソッドを持つ、イベントリスナーの動的生成をサポートします。
EventSetDescriptor EventSetDescriptor は、指定の JavaBean がトリガするイベントのグループを記述します。
Expression Expression オブジェクトは、ターゲットと複数の引数に単一のメソッドを適用することにより、単一の戻り値 ("a.getFoo()" の場合と同様) を得ることができるプリミティブ式です。
FeatureDescriptor FeatureDescriptor クラスは、PropertyDescriptor、EventSetDescriptor、および MethodDescriptor などの共通の基底クラスです。
IndexedPropertyDescriptor IndexPropertyDescriptor は、配列と同様の機能を持つプロパティを記述するとともに、配列内の特定の要素へのアクセスに使用するインデックス付きの読み取りメソッドや書き込みメソッドを備えています。
Introspector Introspector クラスは、ツールを使って、ターゲット JavaBean がサポートするプロパティ、イベント、メソッドを調べる標準的な手法を提供します。
MethodDescriptor MethodDescriptor は、Java Bean がほかのコンポーネントからの外部アクセスをサポートするための特定メソッドを記述します。
ParameterDescriptor ParameterDescriptor クラスでは、java.lang.reflect.Method クラスから取得した低レベルの型情報に加え、bean の実装者が各パラメータに追加情報を提供できます。
PersistenceDelegate PersistenceDeligate クラスは、クラスの公開 API に含まれるメソッドによって指定のクラスのインスタンスの状態を表現します。
PropertyChangeEvent PropertyChange イベントは、bean が「バウンド」プロパティまたは「制約」プロパティを変更するたびに発生します。
PropertyChangeListenerProxy 指定された PropertyChangeListener を追加する目的で EventListenerProxy を拡張するクラスです。
PropertyChangeSupport バウンドプロパティをサポートする bean によって使用されるユーティリティクラスです。
PropertyDescriptor PropertyDescriptor は、Java Bean が一対のアクセス用メソッドを使ってエクスポートする単一のプロパティを記述します。
PropertyEditorManager PropertyEditorManager を使って、指定された型名のプロパティエディタを検索します。
PropertyEditorSupport プロパティエディタの構築を支援するためのサポートクラスです。
SimpleBeanInfo BeanInfo クラスを簡単に提供できるようにするサポートクラスです。
Statement Statement オブジェクトは、"a.setFoo(b)" のように、ターゲットと引数に単一のメソッドが適用されるプリミティブな文を表します。
VetoableChangeListenerProxy VetoableChangeListener を制約プロパティに関連付ける目的で EventListenerProxy を拡張するクラスです。
VetoableChangeSupport 制約プロパティをサポートする bean によって使用されるユーティリティクラスです。
XMLDecoder XMLDecoder クラスは、XMLEncoder で作成された XML 文書の読み取りに使用できるほか、ObjectInputStream と同様の働きも備えています。
XMLEncoder XMLEncoder クラスは ObjectOutputStream の補足的な代替クラスであり、ObjectOutputStreamSerializable オブジェクトのバイナリ表現を生成する場合と同様にして JavaBean のテキスト表現を生成します。
 

例外の概要
IntrospectionException 内部検査中に例外が発生した場合にスローされます。
PropertyVetoException PropertyVetoException は、プロパティに対する変更指定が、受け入れられない値を表すときにスローされます。
 

パッケージ java.beans の説明

Bean (JavaBeansTM アーキテクチャに基づいたコンポーネント) の開発に関連するクラスが含まれています。一部のクラスは、アプリケーションの実行中に bean によって使用されます。たとえば、イベントクラスは、プロパティと拒否可能な変更イベントをトリガする bean によって使用されます (PropertyChangeEvent を参照)。しかし、このパッケージに含まれるほとんどのクラスは、bean エディタ (bean のカスタマイズと組み合わせによってアプリケーションを作成する開発環境) 用です。こうしたクラスを使用すれば、bean エディタで bean のカスタマイズ用ユーザーインタフェースを簡単に作成できます。たとえば、bean エディタでは処理できない特殊な型のプロパティを持つ bean がある場合、bean 開発者は PropertyEditor インタフェースを使って、この特殊な型のエディタを提供することができます。

bean による消費リソースを最小限に抑えるため、bean エディタによって使用されるクラスが読み込まれるのは、bean の編集時にのみとなります。アプリケーションで bean が実行されているときは必要ないため、読み込まれません。この情報は、bean 情報 (BeanInfo を参照) に保管されます。

長期持続性

バージョン 1.4 の java.beans パッケージは、プロパティ値のテキスト表現として bean の読み取りおよび書き込みを行うことにより、「長期持続性」をサポートしています。プロパティ値を bean として、読み取りや書き込みを繰り返し行うことにより、その公開可能状態を取得できます。この方式は、変更の可能性がある非公開の実装ではなく公開の API だけに依存しているため、長期記憶に適しています。

注 - この持続スキーマは、イベントハンドラを使用する場合のように、内部カスタムクラスのインスタンスを自動的に作成することはできません。この問題を回避するには、カスタムイベントハンドラの内部クラスの代わりに EventHandler クラスを使用します。

XML 形式で bean を読み取るには XMLDecoder、書き込むには XMLEncoder を使用します。持続スキーマには、bean に関する特別な知識がなくても bean に情報を読み込めるという特徴があります。

一方、bean から情報を書き出すときは、bean の型に関する知識が必要になることがあります。引数なしのコンストラクタとプロパティの公開 get / set メソッドだけで bean の状態を表現できる場合、bean に関する特別な知識は不要です。それ以外の場合、bean には、カスタマイズされた「持続的なデリゲート」 (特定の型の bean を書き出すオブジェクト) が必要です。Java 2 SE SDK のクラスのうち、java.awt.Component の下位にあるものはすべて、プロパティと持続的なデリゲートを備えています。

bean に持続的なデリゲートを提供する必要がある場合は、DefaultPersistenceDelegate のインスタンスを使用するか、PersistenceDelegate のサブクラスを作成します。プロパティ値を引数として bean のコンストラクタを呼び出したいという理由だけで持続的なデリゲートが必要な場合は、引数を 1 つだけ取る DefaultPersistenceDelegate コンストラクタを使って持続的なデリゲートを作成できます。それ以外の場合は、通常、次のクラスを必要とする固有の持続的なデリゲートを実装する必要があります。

PersistenceDelegate
すべての持続的なデリゲートの派生元抽象クラス。サブクラスは、bean の型情報を使って、bean の作成とその状態の復元に必要な Statement および Expression を提供します。
Statement
オブジェクト上の単一のメソッドの呼び出しを表します。そのメソッドに対する引数のセットを含みます。
Expression
値を返すメソッド用の Statement のサブクラス。

持続的なデリゲートを作成したら、XMLEncodersetPersistenceDelegate メソッドを使って登録します。

関連項目

概要、アーキテクチャ、チュートリアルについては、下記を参照してください。


JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.