ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

パッケージ java.beans

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

参照: 説明

パッケージjava.beansの説明

JavaBeans(tm)アーキテクチャに基づいたコンポーネントである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
すべての持続的な委譲の派生元抽象クラス。サブクラスは、Beanの型情報を使って、Beanの作成とその状態の復元に必要なStatementおよびExpressionを提供します。
Statement
オブジェクト上の単一のメソッドの呼出しを表します。そのメソッドに対する引数のセットを含みます。
Expression
値を返すメソッド用のStatementのサブクラス。

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

関連項目

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

ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

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