public abstract class ReflectionUtil extends Object
修飾子 | コンストラクタと説明 |
---|---|
protected |
ReflectionUtil()
インスタンスを構築する。
|
修飾子とタイプ | メソッドと説明 |
---|---|
static <T> Class<T> |
forName(String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、
Class オブジェクトを返却する。 |
static <T> Class<T> |
forName(String className,
ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた
Class オブジェクトを返却する。 |
static <T> Class<T> |
forNameNoException(String className)
現在のスレッドのコンテキストクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、
Class オブジェクトを返却する。 |
static <T> Class<T> |
forNameNoException(String className,
ClassLoader loader)
指定されたクラスローダを使って、 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、
Class オブジェクトを返却する。 |
static <T> Constructor<T> |
getConstructor(Class<T> clazz,
Class<?>... argTypes)
|
static <T> Constructor<T> |
getDeclaredConstructor(Class<T> clazz,
Class<?>... argTypes)
Class オブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトするConstructor オブジェクトを返却する。 |
static Field |
getDeclaredField(Class<?> clazz,
String name)
|
static Method |
getDeclaredMethod(Class<?> clazz,
String name,
Class<?>... argTypes)
|
static Field |
getField(Class<?> clazz,
String name)
|
static Method |
getMethod(Class<?> clazz,
String name,
Class<?>... argTypes)
|
static <T> T |
getStaticValue(Field field)
指定されたオブジェクトについて、
Field によって表されるstatic フィールドの値を返却する。 |
static <T> T |
getValue(Field field,
Object target)
指定されたオブジェクトについて、
Field によって表されるフィールドの値を返却する。 |
static <T> T |
invoke(Method method,
Object target,
Object... args)
Method オブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータの処理を行う。 |
static <T> T |
invokeStatic(Method method,
Object... args)
Method オブジェクトによって表される基本となるstatic メソッドを、指定したパラメータの処理を行う。 |
static <T> T |
newInstance(Class<T> clazz)
指定されたクラスのデフォルトコンストラクタで、クラスの新しいインスタンスを作成および初期化する。
|
static <T> T |
newInstance(Constructor<T> constructor,
Object... args)
指定された初期化パラメータで、コンストラクタの宣言クラスの新しいインスタンスを作成および初期化する。
|
static void |
setStaticValue(Field field,
Object value)
Field オブジェクトによって表されるstatic フィールドを、指定された新しい値に設定する。 |
static void |
setValue(Field field,
Object target,
Object value)
Field オブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定する。 |
public static <T> Class<T> forName(String className)
Class
オブジェクトを返却する。T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名Class
オブジェクトClass.forName(String)
public static <T> Class<T> forName(String className, ClassLoader loader)
Class
オブジェクトを返却する。T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名loader
- クラスのロード元である必要があるクラスローダClass
オブジェクトClass.forName(String, boolean, ClassLoader)
public static <T> Class<T> forNameNoException(String className)
Class
オブジェクトを返却する。
クラスが見つからなかった場合はnull
を返却する。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名Class
オブジェクトClass.forName(String)
public static <T> Class<T> forNameNoException(String className, ClassLoader loader)
Class
オブジェクトを返却する。
クラスが見つからなかった場合はnull
を返却する。
T
- Class
オブジェクトが表すクラスclassName
- 要求するクラスの完全修飾名loader
- クラスのロード元である必要があるクラスローダClass
オブジェクトClass.forName(String)
public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... argTypes)
T
- Class
オブジェクトが表すクラスclazz
- クラスのClass
オブジェクトargTypes
- パラメータ配列argTypes
と一致するpublic
コンストラクタのConstructor
オブジェクトClass.getConstructor(Class[])
public static <T> Constructor<T> getDeclaredConstructor(Class<T> clazz, Class<?>... argTypes)
Class
オブジェクトが表すクラスまたはインタフェースの指定されたコンストラクタをリフレクトするConstructor
オブジェクトを返却する。T
- Class
オブジェクトが表すクラスclazz
- クラスのClass
オブジェクトargTypes
- パラメータ配列argTypes
と一致するコンストラクタのConstructor
オブジェクトClass.getDeclaredConstructor(Class[])
public static Field getField(Class<?> clazz, String name)
clazz
- クラスのClass
オブジェクトname
- フィールド名name
で指定されたこのクラスのField
オブジェクトClass.getField(String)
public static Field getDeclaredField(Class<?> clazz, String name)
clazz
- クラスのClass
オブジェクトname
- フィールド名name
で指定されたこのクラスのField
オブジェクトClass.getDeclaredField(String)
public static Method getMethod(Class<?> clazz, String name, Class<?>... argTypes)
clazz
- クラスのClass
オブジェクトname
- メソッドの名前argTypes
- パラメータのリストname
およびargTypes
と一致するMethod
オブジェクトClass.getMethod(String, Class[])
public static Method getDeclaredMethod(Class<?> clazz, String name, Class<?>... argTypes)
clazz
- クラスのClass
オブジェクトname
- メソッドの名前argTypes
- パラメータのリストname
およびargTypes
と一致するMethod
オブジェクトClass.getDeclaredMethod(String, Class[])
public static <T> T newInstance(Class<T> clazz)
T
- Class
オブジェクトが表すクラスclazz
- クラスを表すClass
オブジェクトConstructor.newInstance(Object[])
public static <T> T newInstance(Constructor<T> constructor, Object... args)
T
- コンストラクタの宣言クラスconstructor
- コンストラクタargs
- コンストラクタ呼び出しに引数として渡すオブジェクトの配列Constructor.newInstance(Object[])
public static <T> T getValue(Field field, Object target)
Field
によって表されるフィールドの値を返却する。T
- フィールドの型field
- フィールドtarget
- 表現されるフィールド値の抽出元オブジェクトobj
内で表現される値Field.get(Object)
public static <T> T getStaticValue(Field field)
Field
によって表されるstatic
フィールドの値を返却する。T
- フィールドの型field
- フィールドstatic
フィールドで表現される値Field.get(Object)
public static void setValue(Field field, Object target, Object value)
Field
オブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定する。field
- フィールドtarget
- フィールドを変更するオブジェクトvalue
- 変更中のtarget
の新しいフィールド値Field.set(Object, Object)
public static void setStaticValue(Field field, Object value)
Field
オブジェクトによって表されるstatic
フィールドを、指定された新しい値に設定する。field
- フィールドvalue
- static
フィールドの新しい値Field.set(Object, Object)
public static <T> T invoke(Method method, Object target, Object... args)
Method
オブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータの処理を行う。T
- メソッドの戻り値の型method
- メソッドtarget
- 基本となるメソッドの呼び出し元のオブジェクトargs
- メソッド呼び出しに使用される引数args
を使用してobj
にディスパッチした結果Method.invoke(Object, Object[])
public static <T> T invokeStatic(Method method, Object... args)
Method
オブジェクトによって表される基本となるstatic
メソッドを、指定したパラメータの処理を行う。T
- メソッドの戻り値の型method
- メソッドargs
- メソッド呼び出しに使用される引数static
メソッドを、パラメータargs
を使用してディスパッチした結果Method.invoke(Object, Object[])