|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.hishidama.lang.reflect.InvokeUtil
public class InvokeUtil
メソッド呼び出しユーティリティー.
指定された名前のメソッドを呼び出すユーティリティー。
まず、呼び出したいクラスのメソッドを管理用の名前を付けて登録する。
そして、その管理用の名前でメソッドを呼び出す。
このとき、オブジェクトや引数の型は呼び出すメソッドに合致する型に変換する。
オーバーロードされているメソッドの場合、引数の個数が一致しているメソッドが1つだけあれば、それを呼び出す。
複数ある場合、なるべく型が一致しているメソッドを呼び出す(かなり適当にマッチさせているので、そんなに厳密ではない…)。
コンストラクタの概要 | |
---|---|
InvokeUtil()
コンストラクター. |
|
InvokeUtil(TypeConverterManager manager)
コンストラクター. |
メソッドの概要 | |
---|---|
void |
addInvoker(Invoker invoker)
メソッド呼び出しクラス登録. |
void |
addInvoker(String name,
Invoker invoker)
メソッド呼び出しクラス登録. |
void |
addMethod(Class<?> clazz,
String name,
Method method)
メソッド登録. |
void |
addMethods(Class<?> clazz,
String prefix)
メソッド登録. |
TypeConverterManager |
getConverterManager()
型変換オブジェクト管理クラス取得. |
Invoker |
getInstanceInvoker(String name,
Object... args)
インスタンスメソッド呼び出しクラス取得. |
Invoker |
getStaticInvoker(String name,
Object... args)
クラスメソッド呼び出しクラス取得. |
Object |
invoke(String name,
Object obj,
Object... args)
メソッド呼び出し. |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public InvokeUtil()
public InvokeUtil(TypeConverterManager manager)
manager
- 型変換オブジェクト管理クラスメソッドの詳細 |
---|
public TypeConverterManager getConverterManager()
public void addMethods(Class<?> clazz, String prefix)
指定されたクラスの全メソッドを管理対象に追加する。
管理用の名前には、メソッド名の前に指定された接頭辞を付加する。
clazz
- クラスprefix
- 名前の接頭辞addMethod(Class, String, Method)
public void addMethod(Class<?> clazz, String name, Method method)
clazz
- 対象クラスname
- 管理用の名前method
- メソッドaddInvoker(String, Invoker)
public void addInvoker(Invoker invoker)
invoker
- メソッド呼び出しクラスpublic void addInvoker(String name, Invoker invoker)
name
- 管理用の名前invoker
- メソッド呼び出しクラスpublic Object invoke(String name, Object obj, Object... args)
name
- 管理用の名前obj
- 対象オブジェクトargs
- 引数
UnsupportedOperationException
- 管理対象外の名前の場合
RuntimeException
- メソッド呼び出し時に発生した例外public Invoker getInstanceInvoker(String name, Object... args)
name
- 管理用の名前args
- 引数
UnsupportedOperationException
- 管理対象外の名前の場合public Invoker getStaticInvoker(String name, Object... args)
name
- 管理用の名前args
- 引数
UnsupportedOperationException
- 管理対象外の名前の場合
|
||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |