モジュール java.desktop
パッケージ java.beans

クラスIntrospector

java.lang.Object
java.beans.Introspector

public class Introspector extends Object
Introspectorクラスは、ツールに対して、ターゲットJava Beanがサポートするプロパティ、イベント、メソッドについて学習する標準的な手法を提供します。

Introspectorは、上記の3種類の情報について、Beanのクラスとスーパー・クラスを別々に分析し、明示的あるいは暗示的な情報を見つけ出し、その情報を使ってターゲットのBeanを包括的に記述するBeanInfoオブジェクトを構築します。

Fooクラスについては、情報の問い合わせ時にnull以外の値を提供するFooBeanInfoクラスがあれば、明示的な情報を取得できます。 まず、ターゲットのBeanクラスの完全指定されたパッケージ名に「BeanInfo」を付加して新規のクラス名とし、BeanInfoクラスを検索します。 これに失敗した場合は、この完全指定されたパッケージ名の最後のクラス名にあたる部分を使って、BeanInfoパッケージ検索パスに指定されたパッケージごとに該当クラスを検索します。

このように、たとえばsun.xyz.OurButtonというクラスの場合、まずsun.xyz.OurButtonBeanInfoというBeanInfoクラスを検索し、見つからない場合はBeanInfo検索パス内のパッケージごとにOurButtonBeanInfoクラスを検索します。 デフォルトの検索パスの場合はsun.beans.infos.OurButtonBeanInfoになります。

クラスが明示的なBeanInfoを提供する場合は、これを分析クラスおよび派生クラスから取得したBeanInfo情報に追加します。明示的な情報は、現在のクラスとその基底クラスに関する信頼できる情報と見なせるので、スーパー・クラスの連鎖の検索は行いません。

クラスの明示的なBeanInfoが見つからない場合は、低レベルのリフレクションを使ってクラスのメソッドを調べ、標準設計パターンを適用して、プロパティのアクセス用メソッド、イベント・ソース・メソッド、publicメソッドを識別します。 次に、クラスのスーパー・クラスを分析し、この情報を追加します。このとき、スーパー・クラスの連鎖をさかのぼる可能性もあります。

イントロスペクションおよび設計パターンの詳細は、「JavaBeans仕様」を参照してください。

導入されたバージョン:
1.1