jp.preserv.util
クラス DispatchUtil

java.lang.Object
  拡張jp.preserv.util.DispatchUtil

public final class DispatchUtil
extends java.lang.Object

メソッドディスパッチに関するユーティリティクラスです。

バージョン:
1.00 H.WAKUI (MCR) 2007/02/16 初版
作成者:
H.WAKUI (MCR)

メソッドの概要
static java.lang.Object dispatchMethod(java.lang.Object targetClass, java.lang.String methodName)
          指定されたオブジェクトに対してメソッドをディスパッチします。
static java.lang.Object dispatchMethod(java.lang.Object targetClass, java.lang.String methodName, java.lang.Object[] params)
          指定されたオブジェクトに対してメソッドをディスパッチします。
static java.lang.Object dispatchMethod(java.lang.Object targetClass, java.lang.String methodName, java.lang.Object[] params, java.lang.Class[] classes)
          指定されたオブジェクトに対してメソッドをディスパッチします。
static java.lang.Object dispatchMethod(java.lang.String className, java.lang.String methodName, java.lang.Object[] params, java.lang.Class[] classes)
          指定したクラスをロードし、指定されたオブジェクトに対してメソッドをディスパッチします。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

dispatchMethod

public static java.lang.Object dispatchMethod(java.lang.Object targetClass,
                                              java.lang.String methodName)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException
指定されたオブジェクトに対してメソッドをディスパッチします。

パラメータ:
targetClass - オブジェクト
methodName - メソッド名
戻り値:
ディスパッチした結果
例外:
java.lang.IllegalAccessException - メソッドにアクセスできない場合
java.lang.reflect.InvocationTargetException - ディスパッチしたメソッド内で例外が発生した場合
java.lang.NoSuchMethodException - 指定したメソッドが存在しない場合

dispatchMethod

public static java.lang.Object dispatchMethod(java.lang.Object targetClass,
                                              java.lang.String methodName,
                                              java.lang.Object[] params)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException
指定されたオブジェクトに対してメソッドをディスパッチします。

パラメータ:
targetClass - オブジェクト
methodName - メソッド名
params - メソッドパラメータ
戻り値:
ディスパッチした結果
例外:
java.lang.IllegalAccessException - メソッドにアクセスできない場合
java.lang.reflect.InvocationTargetException - ディスパッチしたメソッド内で例外が発生した場合
java.lang.NoSuchMethodException - 指定したメソッドが存在しない場合

dispatchMethod

public static java.lang.Object dispatchMethod(java.lang.Object targetClass,
                                              java.lang.String methodName,
                                              java.lang.Object[] params,
                                              java.lang.Class[] classes)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException
指定されたオブジェクトに対してメソッドをディスパッチします。

パラメータ:
targetClass - オブジェクト
methodName - メソッド名
params - メソッドパラメータ
classes - メソッドパラメータの型
戻り値:
ディスパッチした結果
例外:
java.lang.IllegalAccessException - メソッドにアクセスできない場合
java.lang.reflect.InvocationTargetException - ディスパッチしたメソッド内で例外が発生した場合
java.lang.NoSuchMethodException - 指定したメソッドが存在しない場合

dispatchMethod

public static java.lang.Object dispatchMethod(java.lang.String className,
                                              java.lang.String methodName,
                                              java.lang.Object[] params,
                                              java.lang.Class[] classes)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException,
                                              java.lang.ClassNotFoundException,
                                              java.lang.InstantiationException
指定したクラスをロードし、指定されたオブジェクトに対してメソッドをディスパッチします。

パラメータ:
className - リソースクラス名
methodName - メソッド名
params - メソッドパラメータ
classes - メソッドパラメータの型
戻り値:
ディスパッチした結果
例外:
java.lang.IllegalAccessException - メソッドにアクセスできない場合
java.lang.reflect.InvocationTargetException - ディスパッチしたメソッド内で例外が発生した場合
java.lang.NoSuchMethodException - 指定したメソッドが存在しない場合
java.lang.InstantiationException - 指定したクラスが生成できない場合
java.lang.ClassNotFoundException - 指定したクラスが存在しない場合