240k Dev Wiki
tips/JAVA/JavaBeans/Propertyのルール
をテンプレートにして作成
開始行:
#navi(../../)
* JavaBeans : Property のルール [#f17cb227]
** Property のルールを調べる [#l7aec771]
JavaBeans の仕組では、getter や setter の名前、引数などを...
プロパティとして認識しますが、
具体的にどのようなルールで認識するのでしょうか。
実際に適当な JavaBean を作って試してみました。
*** JavaBean からプロパティの定義を取得 [#r3837fa1]
JavaBean にどのようなプロパティがあるかを調べるには
java.beans パッケージの Introspector, BeanInfo を用いて次...
+ Introspector#getBeanInfo(Class) で引数のクラスの BeanIn...
この BeanInfo に、クラスについての(JavaBean としての)情...
すべて格納されています。
+ BeanInfo#getPropertyDescriptors() で PropertyDescriptor...
それぞれの PropertyDescriptor が、プロパティ1つ1つをあ...
*** 単純なプロパティと Indexed プロパティ [#vfa57076]
もっとも単純なケース=
1つだけのオブジェクトを持つプロパティの場合、
getter は getXxx() のように引数無し、
setter は setXxx(String) のように引数を1つだけ持ちます。
(このとき、プロパティ名は xxx と解釈される)。
この場合、BeanInfo から取得できる PropertyDescriptor を使...
PropertyDescriptor#getPropertyType() でプロパティの型を、
PropertyDescriptor#getReadMethod() で getter メソッド、
PropertyDescriptor#getWriteMethod() で setter メソッドを...
List や配列でプロパティを保持している場合も
getXxx(), setXxx(List) のような getter, setter の組であれば
同様です。
一方、List や配列で値を保持している場合に
getter を getXxx(int)、setter を setXxx(int, String) のよ...
インデックス付きで定義することもできます。
この場合、プロパティ名は同じ xxx となりますが
BeanInfo から取得できる PropertyDescriptor は
PropertyDescriptor のインスタンスではなく、
そのサブクラスである IndexedPropertyDescriptor になります。
IndexedPropertyDescriptor のメソッドである
getIndexedPropertyType() や getIndexedReadMethod(),
getIndexedWriteMethod() などで、これら引数つきの getter, ...
取得できます。
このとき、PropertyDescriptor のメソッドである
getPropertyType() 等々の戻り値は null になるので注意して...
では、同じプロパティに対して
getXxx() と getXxx(int) のように、
引数なしとインデックス付きの両方の getter を設定したらど...
(以下、未稿)
- getXxx() が優先される
- 実験した結果(サンプル Bean の PropertyDescriptor を pr...
終了行:
#navi(../../)
* JavaBeans : Property のルール [#f17cb227]
** Property のルールを調べる [#l7aec771]
JavaBeans の仕組では、getter や setter の名前、引数などを...
プロパティとして認識しますが、
具体的にどのようなルールで認識するのでしょうか。
実際に適当な JavaBean を作って試してみました。
*** JavaBean からプロパティの定義を取得 [#r3837fa1]
JavaBean にどのようなプロパティがあるかを調べるには
java.beans パッケージの Introspector, BeanInfo を用いて次...
+ Introspector#getBeanInfo(Class) で引数のクラスの BeanIn...
この BeanInfo に、クラスについての(JavaBean としての)情...
すべて格納されています。
+ BeanInfo#getPropertyDescriptors() で PropertyDescriptor...
それぞれの PropertyDescriptor が、プロパティ1つ1つをあ...
*** 単純なプロパティと Indexed プロパティ [#vfa57076]
もっとも単純なケース=
1つだけのオブジェクトを持つプロパティの場合、
getter は getXxx() のように引数無し、
setter は setXxx(String) のように引数を1つだけ持ちます。
(このとき、プロパティ名は xxx と解釈される)。
この場合、BeanInfo から取得できる PropertyDescriptor を使...
PropertyDescriptor#getPropertyType() でプロパティの型を、
PropertyDescriptor#getReadMethod() で getter メソッド、
PropertyDescriptor#getWriteMethod() で setter メソッドを...
List や配列でプロパティを保持している場合も
getXxx(), setXxx(List) のような getter, setter の組であれば
同様です。
一方、List や配列で値を保持している場合に
getter を getXxx(int)、setter を setXxx(int, String) のよ...
インデックス付きで定義することもできます。
この場合、プロパティ名は同じ xxx となりますが
BeanInfo から取得できる PropertyDescriptor は
PropertyDescriptor のインスタンスではなく、
そのサブクラスである IndexedPropertyDescriptor になります。
IndexedPropertyDescriptor のメソッドである
getIndexedPropertyType() や getIndexedReadMethod(),
getIndexedWriteMethod() などで、これら引数つきの getter, ...
取得できます。
このとき、PropertyDescriptor のメソッドである
getPropertyType() 等々の戻り値は null になるので注意して...
では、同じプロパティに対して
getXxx() と getXxx(int) のように、
引数なしとインデックス付きの両方の getter を設定したらど...
(以下、未稿)
- getXxx() が優先される
- 実験した結果(サンプル Bean の PropertyDescriptor を pr...
ページ名:
外部リンク元
検索
AND検索
OR検索
ナビゲート
トップ
一覧
最近の更新
編集操作
新規
バックアップ
ヘルプ
カテゴリ
†
アプリケーション
tips/JAVA
tips/eclipse
?
tips/eclipse/plugin開発
tips/maven2.0
tips/misc
tips/web
最新の10件
2012-04-25
アプリケーション/Android/RubberString
2012-04-15
アプリケーション
2009-08-10
tips/eclipse/plugin開発/RCP/クロスプラットフォームのエクスポート
2009-08-09
アプリケーション/MixedCalc
2008-08-14
tips/JAVA/JavaBeans/Propertyのルール
2008-07-10
tips/eclipse/plugin開発/GEF/DeleteAction 実行の流れ
2008-06-27
MenuBar
FrontPage
2008-06-20
tips/JAVA/2文字目が大文字の Beans プロパティ
2008-06-15
tips/eclipse/plugin開発/GEF/RetargetAction のしくみ
↑
関連リンク
†
240K HOME
↑
編集操作
†
edit