Java™ Platform
Standard Edition 7

パッケージ java.beans

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

参照: 説明

パッケージ java.beans の説明

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

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

明示しない限り、null 値または空の文字列は、このパッケージのメソッドで有効なパラメータではありません。そのようなパラメータが使用されると、例外が発生する可能性があります。

長期持続性

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

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

XML 形式の Bean の読み込みおよび書き込みを行なうには、XMLDecoder クラスおよび XMLEncoder クラスをそれぞれ使用します。持続スキーマには、Bean に関する特別な知識がなくても Bean に情報を読み込めるという特徴があります。

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

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

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

持続的な委譲を作成したら、XMLEncodersetPersistenceDelegate メソッドを使って登録します。

関連項目

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

Java™ Platform
Standard Edition 7

バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.