public class GenericPropertyUtil extends Object
JavaBeanのプロパティの
Genericsを扱うためのユーティリティクラス。| コンストラクタと説明 |
|---|
GenericPropertyUtil() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected static Method |
getMethod(Object bean,
String name)
JavaBeanのプロパティの取得メソッドを
取得する。 |
static Class |
resolveCollectionType(Object bean,
String name)
JavaBeanの
Collection型プロパティの要素の型を取得する。 |
protected static Class |
resolveType(Class genericClass,
Class clazz,
Type type,
int index)
フィールド、または、メソッドの情報を元に
Generics型で指定された型を取得する。 |
static Class |
resolveType(Object bean,
String name,
Class genericClass,
int index)
JavaBeanの
Generics型プロパティで指定された型を取得する。 |
public static Class resolveCollectionType(Object bean, String name) throws IllegalArgumentException, IllegalStateException
JavaBeanの
Collection型プロパティの要素の型を取得する。
public class Bean {
private List<String> list;
public List<String> getList() {
return this.list;
}
}
上記のようなBeanに対して、以下のように使用すると、
String.classを取得できる。
Bean bean = new Bean();
Class elementType =
GenericCollectionUtil.resolveCollectionType(
bean, "list");
bean - JavaBeanインスタンス。name - Collection型プロパティの名前。Collectionの要素の型。
特定できない場合はObject型が返却される。IllegalArgumentException - 引数beanが
nullの場合。引数nameが
null、空文字、空白文字列の場合。
JavaBeanのプロパティの
取得メソッドを取得できなかった場合IllegalStateException - 指定されたプロパティがCollection実装クラス
ではない場合。public static Class resolveType(Object bean, String name, Class genericClass, int index) throws IllegalArgumentException, IllegalStateException
JavaBeanの
Generics型プロパティで指定された型を取得する。
public class Bean {
private Map<String, Boolean> map;
public Map<String, Boolean> getMap() {
return this.map;
}
}
上記のようなBeanに対して、以下のように使用すると、
String.classを取得できる。
Bean bean = new Bean();
Class keyType =
GenericCollectionUtil.resolveType(
bean, "map", Map.class, 0);
bean - JavaBeanインスタンス。name - Generics型プロパティの名前。genericClass - Generics型プロパティの
型定義を行っているクラス。index - 型パラメータの宣言順序。Generics型プロパティで指定された型。
特定できない場合はObject型が返却される。IllegalArgumentException - 引数beanが
nullの場合。引数nameが
null、空文字、空白文字列の場合。
引数genericClassがnullの場合。
引数indexが0より小さい、または、
宣言された型パラメータ数以上の場合。
JavaBeanのプロパティの
取得メソッドを取得できなかった場合IllegalStateException - 型パラメータがWildCardTypeである場合。protected static Method getMethod(Object bean, String name) throws IllegalArgumentException
JavaBeanのプロパティの取得メソッドを
取得する。bean - JavaBeanインスタンス。name - Generics型プロパティの名前。JavaBeanに定義されたプロパティの取得メソッド。IllegalArgumentException - JavaBeanのプロパティの
取得メソッドを取得できなかった場合。protected static Class resolveType(Class genericClass, Class clazz, Type type, int index) throws IllegalArgumentException, IllegalStateException
Generics型で指定された型を取得する。genericClass - Generics型プロパティの
型定義を行っているクラス。clazz - 具体的な型パラメータを指定したクラス。type - 具体的な型パラメータを指定したクラスのインスタンスの
Typeインスタンス。index - 型パラメータの宣言順序。Generics型で指定された型。
特定できない場合はObject型が返却される。IllegalArgumentException - 引数genericClassが
nullの場合。
引数clazzがnullの場合。
引数indexが0より小さい、または、
宣言された型パラメータ数以上の場合。IllegalStateException - 型パラメータがWildCardTypeである場合。Copyright © 2014. All Rights Reserved.