LHA Library for Java

jp.gr.java_conf.dangan.lang.reflect
Class MethodUtil

java.lang.Object
  extended by jp.gr.java_conf.dangan.lang.reflect.MethodUtil

public class MethodUtil
extends Object

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

 -- revision history --
 $Log: MethodUtil.java,v $
 Revision 1.0  2002/10/01 00:00:00  dangan
 first edition
 add to version control

 

Version:
$Revision: 1.0 $
Author:
$Author: dangan $

Method Summary
static Method getInstanceMethod(Class type, String name, Object[] args)
          type の public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getInstanceMethod(Class type, String name, Object[] args, boolean all)
          type の インスタンスメソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getInstanceMethod(String classname, String name, Object[] args)
          classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getInstanceMethod(String classname, String name, Object[] args, boolean all)
          classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getMatchFullInstanceMethod(Class type, String name, Object[] args)
          type の public なインスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static Method getMatchFullInstanceMethod(Class type, String name, Object[] args, boolean all)
          type の インスタンスメソッドのうち、name という名前で args を直接受け入れることができるものを得る。
static Method getMatchFullInstanceMethod(String classname, String name, Object[] args)
          classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。
static Method getMatchFullInstanceMethod(String classname, String name, Object[] args, boolean all)
          classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static Method getMatchFullStaticMethod(Class type, String name, Object[] args)
          type の public staticなメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static Method getMatchFullStaticMethod(Class type, String name, Object[] args, boolean all)
          type の static メソッドのうち、name という名前で args を直接受け入れることができるものを得る。
static Method getMatchFullStaticMethod(String classname, String name, Object[] args)
          classname で示されるクラスの public static メソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。
static Method getMatchFullStaticMethod(String classname, String name, Object[] args, boolean all)
          classname で示されるクラスの static メソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static Method getStaticMethod(Class type, String name, Object[] args)
          type の public staticなメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getStaticMethod(Class type, String name, Object[] args, boolean all)
          type の static メソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getStaticMethod(String classname, String name, Object[] args)
          classname で示されるクラスの public static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Method getStaticMethod(String classname, String name, Object[] args, boolean all)
          classname で示されるクラスの static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static Object invoke(Object obj, String name, Object[] args)
          インスタンスobjの nameという名前の メソッドをargsを引数として実行する。
static Object invokeStatic(Class type, String name, Object[] args)
          type で示されるクラスの nameという名前の static メソッドをargsを引数として実行する。
static Object invokeStatic(String classname, String name, Object[] args)
          classname で示されるクラスの nameという名前の static メソッドをargsを引数として実行する。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

invoke

public static Object invoke(Object obj,
                            String name,
                            Object[] args)
                     throws InvocationTargetException,
                            NoSuchMethodException
インスタンスobjの nameという名前の メソッドをargsを引数として実行する。

Parameters:
obj - インスタンス
name - メソッド名
args - 引数の配列
Returns:
戻り値
Throws:
InvocationTargetException - コンストラクタで例外が発生した場合
NoSuchMethodException - args を引数に取れる name という名前の インスタンスメソッドが見つからなかった場合。

invokeStatic

public static Object invokeStatic(String classname,
                                  String name,
                                  Object[] args)
                           throws ClassNotFoundException,
                                  InvocationTargetException,
                                  NoSuchMethodException
classname で示されるクラスの nameという名前の static メソッドをargsを引数として実行する。

Parameters:
classname - クラス名
name - メソッド名
args - 引数の配列
Returns:
戻り値
Throws:
ClassNotFoundException - classname のクラスが見つからなかった場合
InvocationTargetException - コンストラクタで例外が発生した場合
NoSuchMethodException - args を引数に取れる name という名前の インスタンスメソッドが見つからなかった場合。

invokeStatic

public static Object invokeStatic(Class type,
                                  String name,
                                  Object[] args)
                           throws InvocationTargetException,
                                  NoSuchMethodException
type で示されるクラスの nameという名前の static メソッドをargsを引数として実行する。

Parameters:
type - 型情報
name - メソッド名
args - 引数の配列
Returns:
戻り値
Throws:
InvocationTargetException - コンストラクタで例外が発生した場合
NoSuchMethodException - args を引数に取れる name という名前の インスタンスメソッドが見つからなかった場合。

getInstanceMethod

public static Method getInstanceMethod(String classname,
                                       String name,
                                       Object[] args)
                                throws ClassNotFoundException
classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getInstanceMethod

public static Method getInstanceMethod(Class type,
                                       String name,
                                       Object[] args)
type の public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getInstanceMethod

public static Method getInstanceMethod(String classname,
                                       String name,
                                       Object[] args,
                                       boolean all)
                                throws ClassNotFoundException
classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getInstanceMethod

public static Method getInstanceMethod(Class type,
                                       String name,
                                       Object[] args,
                                       boolean all)
type の インスタンスメソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getMatchFullInstanceMethod

public static Method getMatchFullInstanceMethod(String classname,
                                                String name,
                                                Object[] args)
                                         throws ClassNotFoundException
classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullInstanceMethod

public static Method getMatchFullInstanceMethod(Class type,
                                                String name,
                                                Object[] args)
type の public なインスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getMatchFullInstanceMethod

public static Method getMatchFullInstanceMethod(String classname,
                                                String name,
                                                Object[] args,
                                                boolean all)
                                         throws ClassNotFoundException
classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullInstanceMethod

public static Method getMatchFullInstanceMethod(Class type,
                                                String name,
                                                Object[] args,
                                                boolean all)
type の インスタンスメソッドのうち、name という名前で args を直接受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getStaticMethod

public static Method getStaticMethod(String classname,
                                     String name,
                                     Object[] args)
                              throws ClassNotFoundException
classname で示されるクラスの public static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getStaticMethod

public static Method getStaticMethod(Class type,
                                     String name,
                                     Object[] args)
type の public staticなメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getStaticMethod

public static Method getStaticMethod(String classname,
                                     String name,
                                     Object[] args,
                                     boolean all)
                              throws ClassNotFoundException
classname で示されるクラスの static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getStaticMethod

public static Method getStaticMethod(Class type,
                                     String name,
                                     Object[] args,
                                     boolean all)
type の static メソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getMatchFullStaticMethod

public static Method getMatchFullStaticMethod(String classname,
                                              String name,
                                              Object[] args)
                                       throws ClassNotFoundException
classname で示されるクラスの public static メソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullStaticMethod

public static Method getMatchFullStaticMethod(Class type,
                                              String name,
                                              Object[] args)
type の public staticなメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

getMatchFullStaticMethod

public static Method getMatchFullStaticMethod(String classname,
                                              String name,
                                              Object[] args,
                                              boolean all)
                                       throws ClassNotFoundException
classname で示されるクラスの static メソッドのうち、 name という名前で args を直接受け入れることができるものを得る。

Parameters:
classname - クラス名。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。
Throws:
ClassNotFoundException - classname で示されるクラスが存在しない場合

getMatchFullStaticMethod

public static Method getMatchFullStaticMethod(Class type,
                                              String name,
                                              Object[] args,
                                              boolean all)
type の static メソッドのうち、name という名前で args を直接受け入れることができるものを得る。

Parameters:
type - 型情報。
name - 検索するメソッド名。
args - 引数配列。 null を含めても良いが、null を使用した場合は Object のサブクラスであれば全てマッチしてしまうため、 目的のメソッド以外のものが見つかる可能性がある。
all - public のメソッドのみを検索するなら false。 public, protected, private, パッケージプライベートの 全てのメソッドを検索するなら true。
Returns:
args を引数に取ることができる nameという名前の メソッド。 見つからなければ null。

LHA Library for Java

When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.