@Published(tag="architect") public final class ObjectUtil extends Object
修飾子とタイプ | メソッドと説明 |
---|---|
static List<Class<?>> |
createExceptionsClassList(List originalExceptions)
例外の名称のリストから例外クラスのリストを生成する。
|
static <T> T |
createInstance(String className)
クラス名からインスタンスを生成する。
|
static Method |
findMatchMethod(Class<?> objectClass,
String methodName,
Class<?>... valueTypes)
指定したシグネチャにマッチするメソッドを検索する。
|
static List<Class<?>> |
getAncestorClasses(Class<?> clazz)
クラスの全ての祖先を取得する。
|
static Method |
getGetterMethod(Class<?> targetClass,
String propertyName)
getterメソッドを検索する。
|
static String |
getGetterMethodName(String propertyName)
プロパティ名からgetterメソッド名を取得する。
|
static List |
getGetterMethods(Class<?> clazz)
クラスにあるgetterのリストを取得する。
|
static Object |
getProperty(Object object,
String propertyName)
オブジェクトからプロパティの値を取得する。
|
static Object |
getPropertyIfExists(Object object,
String propertyName)
オブジェクトに、指定したプロパティが存在する場合に値を取得する。
|
static String |
getPropertyNameFromGetter(Method method)
getterメソッドからプロパティ名を取得する。
|
static String |
getPropertyNameFromSetter(Method method)
setterメソッドからプロパティ名を取得する。
|
static Class<?> |
getPropertyType(Class<?> clazz,
String propertyName)
プロパティの型を取得する。
|
static Method |
getSetterMethod(Class<?> targetClass,
String propertyName)
setterメソッドを検索する。
|
static String |
getSetterMethodName(String propertyName)
プロパティ名からsetterメソッド名を取得する。
|
static List |
getSetterMethods(Class<?> clazz)
clazz に定義されたsetterのリストを取得する。 |
static List |
getWritablePropertyNames(Class<?> clazz)
clazz に定義されたプロパティの名称リストを取得する。 |
static void |
setProperty(Object obj,
String propertyName,
Object value)
オブジェクトのプロパティに値をセットする。
|
public static <T> T createInstance(String className)
T
- 型引数className
- 完全修飾クラス名IllegalArgumentException
- インスタンスの生成に失敗した場合public static void setProperty(Object obj, String propertyName, Object value)
obj
- 対象のオブジェクトpropertyName
- プロパティ名value
- セットする値(NOT null
)RuntimeException
- 対象プロパティにsetterが定義されていない場合か、
対象プロパティのsetterが対象プロパティの型かそのサブクラスを引数にとらない場合public static String getSetterMethodName(String propertyName)
propertyName
- プロパティ名public static Method findMatchMethod(Class<?> objectClass, String methodName, Class<?>... valueTypes)
null
を返す。
マッチング条件は以下である。
methodName
とメソッド名が一致していることvalueTypes
と引数の数が一致していることvalueTypes
と引数の型が一致していること。ただし、以下の場合は「同一の型」と見なす。
valueTypes
で指定した型とそのスーパークラスとを比較した場合objectClass
- 検索対象のクラスmethodName
- メソッド名valueTypes
- 引数の型リスト(NOT null
)。
引数の型の他、そのサブクラスでもマッチする。
引数を取らないメソッドを検索する場合は、空の配列を引き渡す。public static List<Class<?>> getAncestorClasses(Class<?> clazz)
clazz
からの近さ順となる。
Object
は取得結果リストに含まれない。clazz
がObject
以外を継承していないクラスである場合、空のリストを返す。clazz
- 祖先を取得するクラスpublic static Class<?> getPropertyType(Class<?> clazz, String propertyName)
null
を返す。clazz
- プロパティの型を取得するクラスpropertyName
- プロパティ名public static List getWritablePropertyNames(Class<?> clazz)
clazz
に定義されたプロパティの名称リストを取得する。
setterが定義されているプロパティのみが対象となる。
clazz
にsetterが定義されたプロパティがない場合、空のリストを返す。clazz
- 取得対象のクラスclazz
に定義されたプロパティの名称リスト(setterが定義されているプロパティのみ取得する)public static String getPropertyNameFromSetter(Method method)
method
- セッタメソッドIllegalArgumentException
- method
の名称が"set"で開始していない場合public static List getSetterMethods(Class<?> clazz)
clazz
に定義されたsetterのリストを取得する。
setterが一つも定義されていない場合は空のリストを返す。clazz
- 取得対象のクラスclazz
に定義されたセッタのリストpublic static Method getSetterMethod(Class<?> targetClass, String propertyName)
targetClass
- ターゲットのクラスpropertyName
- プロパティ名RuntimeException
- propertyName
に対応するsetterがない場合public static Method getGetterMethod(Class<?> targetClass, String propertyName)
targetClass
- ターゲットのクラスpropertyName
- プロパティ名RuntimeException
- propertyName
に対応するgetterがない場合public static String getGetterMethodName(String propertyName)
propertyName
- プロパティ名IllegalArgumentException
- propertyName
がnull
か空文字である場合public static String getPropertyNameFromGetter(Method method)
method
- getterメソッドIllegalArgumentException
- method
の名前が"get"で開始していない場合public static List getGetterMethods(Class<?> clazz)
Object#getClass()
は取得対象から除く。
getterが一つも定義されていない場合は空のリストを返す。clazz
- 取得対象のクラスpublic static Object getProperty(Object object, String propertyName)
object
- Map
、またはプロパティ名のgetterを備えたオブジェクトpropertyName
- プロパティ名IllegalArgumentException
- object
がnullである場合propertyName
がnullか空文字である場合propertyName
に対応する、getterメソッドが定義されたプロパティがない場合public static Object getPropertyIfExists(Object object, String propertyName)
null
を返す。object
- Map
またはプロパティ名のgetterを備えたオブジェクトpropertyName
- プロパティ名object
がnullである場合propertyName
がnull
か空文字である場合public static List<Class<?>> createExceptionsClassList(List originalExceptions)
originalExceptions
の文字列クラス名の格納順にリストに格納されて返される。
originalExceptions
が空の場合は、空のリストを返す。originalExceptions
- 例外クラス名リスト。(List<String>)RuntimeException
- 要素内の文字列クラス名が、RuntimeExceptionのサブクラス以外の場合