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 java.lang.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 java.lang.reflect.Method getInstanceMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args)
          type の public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getInstanceMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args, boolean all)
          type の インスタンスメソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getInstanceMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args)
          classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getInstanceMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args, boolean all)
          classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args)
          type の public なインスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args, boolean all)
          type の インスタンスメソッドのうち、name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args)
          classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args, boolean all)
          classname で示されるクラスの インスタンスメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullStaticMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args)
          type の public staticなメソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullStaticMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args, boolean all)
          type の static メソッドのうち、name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullStaticMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args)
          classname で示されるクラスの public static メソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。
static java.lang.reflect.Method getMatchFullStaticMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args, boolean all)
          classname で示されるクラスの static メソッドのうち、 name という名前で args を直接受け入れることができるものを得る。
static java.lang.reflect.Method getStaticMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args)
          type の public staticなメソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getStaticMethod(java.lang.Class type, java.lang.String name, java.lang.Object[] args, boolean all)
          type の static メソッドのうち、name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getStaticMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args)
          classname で示されるクラスの public static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.reflect.Method getStaticMethod(java.lang.String classname, java.lang.String name, java.lang.Object[] args, boolean all)
          classname で示されるクラスの static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。
static java.lang.Object invoke(java.lang.Object obj, java.lang.String name, java.lang.Object[] args)
          インスタンスobjの nameという名前の メソッドをargsを引数として実行する。
static java.lang.Object invokeStatic(java.lang.Class type, java.lang.String name, java.lang.Object[] args)
          type で示されるクラスの nameという名前の static メソッドをargsを引数として実行する。
static java.lang.Object invokeStatic(java.lang.String classname, java.lang.String name, java.lang.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 java.lang.Object invoke(java.lang.Object obj,
                                      java.lang.String name,
                                      java.lang.Object[] args)
                               throws java.lang.reflect.InvocationTargetException,
                                      java.lang.NoSuchMethodException
インスタンスobjの nameという名前の メソッドをargsを引数として実行する。

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

invokeStatic

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

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

invokeStatic

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

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

getInstanceMethod

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

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

getInstanceMethod

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

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

getInstanceMethod

public static java.lang.reflect.Method getInstanceMethod(java.lang.String classname,
                                                         java.lang.String name,
                                                         java.lang.Object[] args,
                                                         boolean all)
                                                  throws java.lang.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:
java.lang.ClassNotFoundException - classname で示されるクラスが存在しない場合

getInstanceMethod

public static java.lang.reflect.Method getInstanceMethod(java.lang.Class type,
                                                         java.lang.String name,
                                                         java.lang.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 java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.String classname,
                                                                  java.lang.String name,
                                                                  java.lang.Object[] args)
                                                           throws java.lang.ClassNotFoundException
classname で示されるクラスの public なインスタンスメソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。

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

getMatchFullInstanceMethod

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

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

getMatchFullInstanceMethod

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

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

getMatchFullInstanceMethod

public static java.lang.reflect.Method getMatchFullInstanceMethod(java.lang.Class type,
                                                                  java.lang.String name,
                                                                  java.lang.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 java.lang.reflect.Method getStaticMethod(java.lang.String classname,
                                                       java.lang.String name,
                                                       java.lang.Object[] args)
                                                throws java.lang.ClassNotFoundException
classname で示されるクラスの public static メソッドのうち、 name という名前で args を Type.parse した後 受け入れることができるものを得る。

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

getStaticMethod

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

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

getStaticMethod

public static java.lang.reflect.Method getStaticMethod(java.lang.String classname,
                                                       java.lang.String name,
                                                       java.lang.Object[] args,
                                                       boolean all)
                                                throws java.lang.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:
java.lang.ClassNotFoundException - classname で示されるクラスが存在しない場合

getStaticMethod

public static java.lang.reflect.Method getStaticMethod(java.lang.Class type,
                                                       java.lang.String name,
                                                       java.lang.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 java.lang.reflect.Method getMatchFullStaticMethod(java.lang.String classname,
                                                                java.lang.String name,
                                                                java.lang.Object[] args)
                                                         throws java.lang.ClassNotFoundException
classname で示されるクラスの public static メソッドのうち、 name という名前で args を 直接受け入れることができるものを得る。

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

getMatchFullStaticMethod

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

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

getMatchFullStaticMethod

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

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

getMatchFullStaticMethod

public static java.lang.reflect.Method getMatchFullStaticMethod(java.lang.Class type,
                                                                java.lang.String name,
                                                                java.lang.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.