|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.ex.unit.util.ReflectionUtils
public class ReflectionUtils
private修飾子のフィールドにアクセスしたりメソッドの実行を行うユーティリティ
コンストラクタの概要 | |
---|---|
ReflectionUtils()
|
メソッドの概要 | ||
---|---|---|
static Object[] |
args(Object... args)
|
|
static Class<?>[] |
classes(Class<?>... classes)
|
|
static String[] |
createFiledNames(Class<?> clazz)
クラス内のフィールド名を取得する。 |
|
static
|
getField(Class<?> clazz,
String name)
対象Classが表すクラスまたはインタフェースの指定されたstaticなフィールドの値を返します。 |
|
static
|
getField(Object obj,
Class<?> clazz,
String name)
対象オブジェクトのクラスの指定されたフィールドの値を返します。 |
|
static
|
getField(Object obj,
String name)
対象オブジェクトのクラスの指定されたフィールドの値を返します。 |
|
static
|
invoke(Class<?> clazz,
String methodName)
指定したクラスに対して指定したパラメータで指定した名前のメソッドを呼び出します。 |
|
static
|
invoke(Class<?> clazz,
String methodName,
Class<?>[] parameterTypes,
Object[] args)
指定したクラスに対して指定したパラメータで指定した名前のメソッドを呼び出します。 |
|
static
|
invoke(Object obj,
String methodName)
指定したオブジェクトに対して指定した名前のメソッドを呼び出します。 |
|
static
|
invoke(Object obj,
String methodName,
Class<?>[] parameterTypes,
Object[] args)
指定したオブジェクトに対して指定したパラメータで指定した名前のメソッドを呼び出します。 |
|
static
|
newInstance(Class<T> clazz)
引数のClassが表すクラスの新しいインスタンスを生成します。 |
|
static
|
newInstance(Class<T> clazz,
Class<?>[] argClasses,
Object[] args)
引数のClassが表すクラスの新しいインスタンスを生成します。 |
|
static void |
setField(Class<?> clazz,
String name,
Object value)
対象Classが表すクラスまたはインタフェースの指定されたフィールドの値を変更します。 |
|
static void |
setField(Object obj,
String name,
Object value)
対象オブジェクトのクラスの指定されたフィールドの値を変更します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public ReflectionUtils()
メソッドの詳細 |
---|
public static <T> T newInstance(Class<T> clazz)
clazz
- 対象クラス
ReflectionFailedException
- インスタンスの生成時に例外が発生した場合public static <T> T newInstance(Class<T> clazz, Class<?>[] argClasses, Object[] args)
clazz
- 対象クラスargClasses
- コンストラクタの引数の型配列args
- コンストラクタの引数
ReflectionFailedException
- インスタンスの生成時に例外が発生した場合public static <T> T getField(Object obj, String name)
本メソッドでは引数のobj
のクラスで定義されているフィールドのみ取得可能です。
obj
の親クラスで定義されているフィールドは取得できません。
obj
の親クラスで定義されているフィールドを取得したい場合は、getField(Object, Class, String)
メソッドを利用して、
第二引数にフィールドが定義されているクラスを指定してください。
また、staticなフィールド値を取得したい場合は、getField(Class, String)
メソッドを使用して、第一引数にstaticなフィールドが定義されているクラスを指定してください。
obj
- 対象オブジェクトname
- 取得するフィールドの名前
ReflectionFailedException
- フィールドオブジェクト取得時に例外が発生した場合public static <T> T getField(Object obj, Class<?> clazz, String name)
第二引数にフィールドが定義されているクラスを指定してください。
obj
- 対象オブジェクトclazz
- 対象取得フィールドが定義されているクラスname
- 取得するフィールドの名前
public static <T> T getField(Class<?> clazz, String name)
clazz
- 対象クラスname
- 取得するフィールドの名前
ReflectionFailedException
- フィールドオブジェクト取得時に例外が発生した場合public static void setField(Object obj, String name, Object value)
getField(Object, String)
によって取得可能ですが、
obj
- 対象オブジェクトname
- 変更するフィールドの名前value
- 変更する値
ReflectionFailedException
- フィールドオブジェクト取得時に例外が発生した場合public static void setField(Class<?> clazz, String name, Object value)
UTRuntimeException
が発生します。
clazz
- 対象クラスname
- 取得するフィールドの名前value
- 変更する値
ReflectionFailedException
- フィールドオブジェクト取得時に例外が発生した場合public static <T> T invoke(Object obj, String methodName, Class<?>[] parameterTypes, Object[] args)
obj
- 基本となるメソッドの呼び出し元のオブジェクトmethodName
- メソッドの名前parameterTypes
- パラメータ配列args
- メソッド呼び出しに使用される引数
ReflectionFailedException
- メソッドの取得または実行時に例外が発生した場合public static <T> T invoke(Object obj, String methodName)
obj
- 基本となるメソッドの呼び出し元のオブジェクトmethodName
- メソッドの名前
ReflectionFailedException
- メソッドの取得または実行時に例外が発生した場合public static <T> T invoke(Class<?> clazz, String methodName, Class<?>[] parameterTypes, Object[] args)
clazz
- 基本となるメソッドの呼び出し元のクラスmethodName
- メソッドの名前parameterTypes
- パラメータ配列args
- メソッド呼び出しに使用される引数
ReflectionFailedException
- メソッドの取得または実行時に例外が発生した場合public static <T> T invoke(Class<?> clazz, String methodName)
clazz
- 基本となるメソッドの呼び出し元のクラスmethodName
- メソッドの名前
ReflectionFailedException
- メソッドの取得または実行時に例外が発生した場合public static String[] createFiledNames(Class<?> clazz)
親クラスのフィールド名も取得できる。staticなフィールドの名前は取得しない。
clazz
- 対象クラス
public static Class<?>[] classes(Class<?>... classes)
public static Object[] args(Object... args)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |