next up previous contents
Next: PropertyDescriptor Up: BeanInfo Previous: BeanInfo

様々のDescriptor

先のリストは、IntrospectorのgetBeanInfoメソッドと、GenericBeanInfoクラスの コンストラクタの主要部分です。このリストを見ていると、Beanについての情報の 集まりであるBeanInfoが、いくつかのDescriptorの集まりであることが 分かります。そのフィールドを調べてみれば、BeanInfoが、次のような情報を抱えて いることが分かります。

BeanDescriptor         BeanクラスとそのCustomizer
EventSetDescriptor[]   リスナーの型とメソッド、add/removeListener Method 等
PropertyDescriptor[]   プロパティの型、read/write メソッド、プロパティEditor
MethodDescriptor[]     Methodとその引数の型

Beansを特徴づける Property / Event / Methodに対応して、Java Beansには、PropertyDescriptor / EventSetDescriptor / MethodDescriptor という Descriptorがありますが、これらはいずれも、FeatureDescriptor を拡大したものです。 BeanDescriptor以外のDescriptorは、いずれも配列です。たとえば、あるBeanに属する プロパティが10個あったとすれば、それぞれのプロパティに対応した、10個の Descriptorからなる配列が作られるということです。EventSet, Methodについても、 同様に、配列が形成されます。BeanInfoには、これらのDescriptorの他に、EventSetと Propertyについては、それぞれのデフォールト時の値が、情報として含まれています。 あと一つ、BeanInfoの中に、BeanInfo自体が一つ、入れ子で含まれていることにも注意 して下さい。

このようになかなか複雑な構造をしているのですが、基本的には、BeanInfoは、 Beanの イベント、プロパティ、メソッドの三者についての情報を、それぞれの Descriptorで格納したものと考えることができます。



maruyama@wakhok.ac.jp