org.asyrinx.brownie.core.lang
クラス ClassUtils

java.lang.Object
  拡張org.asyrinx.brownie.core.lang.ClassUtils

public class ClassUtils
extends java.lang.Object

クラスに関するユーティリティです。
クラス名を指定した生成、基底クラスのチェック付の生成などが 主な責務です。
インスタンス生成のメソッドnewObjectのほとんどは、引数にbaseClassという Class変数を持ち、この引数によって生成するインスタンスのクラスが 意図しているクラス(あるいはインタフェース)を継承(実装)するものなのかをチェックします。
これらのメソッドは例外InstantiationExceptionをthrowsしています。 これは以下の場合にthrowされます。
・引数baseClassによるチェックがパスしなかった。
・クラス名が指定されていない。
・クラスが見つからない。
・コンストラクタが見つからない。
・コンストラクタの引数が異なる。
・クラスへのアクセス権に問題がある。
・その他インスタンス生成の例外が発生した場合。

作成者:
Akima

フィールドの概要
static java.lang.String PACKAGE_DELIM
           
static char PACKAGE_DELIM_CHAR
           
 
コンストラクタの概要
ClassUtils()
           
 
メソッドの概要
static java.lang.reflect.Constructor findConstructor(java.lang.Class targetClass, java.lang.Object[] params)
          クラスと引数からコンストラクタを検索します。
static int getClassLoaderDepth(java.lang.ClassLoader loader)
           
static boolean isAncestor(java.lang.ClassLoader ancestor, java.lang.ClassLoader target)
           
static boolean isAssignableFrom(java.lang.Class target, java.lang.String className)
          指定したtargetクラスが、classNameで表されるクラス名のクラスかどうかを返す。
static boolean matchTypes(java.lang.Object[] values, java.lang.Class[] valueTypes)
          引数valuesの各要素が、引数valueTypesの各要素(Classクラスのインスタンス)の インスタンスとして対応するるかどうかを判断します。
static java.util.List modifierToString(int value)
           
static java.lang.Object newObject(java.lang.Class instanciateClass, java.lang.Class baseClass)
          指定されたクラスのインスタンスを生成します。
static java.lang.Object newObject(java.lang.Class instanciateClass, java.lang.Class baseClass, java.lang.Object[] params)
          コンストラクタを検索しインスタンスを生成します。
static java.lang.Object newObject(java.lang.String className, java.lang.Class baseClass)
          クラス名によって指定されたクラスのインスタンスを生成します。
static java.lang.Object newObject(java.lang.String className, java.lang.ClassLoader classLoader, java.lang.Class baseClass)
          クラス名によって指定されたクラスのインスタンスを生成します。
static java.lang.Object newObject(java.lang.String className, java.lang.ClassLoader classLoader, java.lang.Class baseClass, java.lang.Object[] params)
          コンストラクタを検索しインスタンスを生成します。
static void showClassLoaders()
           
static void showClassLoaders(java.lang.Class clazz)
           
static void showClassLoaders(java.lang.ClassLoader loader)
           
static java.lang.String toShortClassName(java.lang.Class class1)
           
static java.lang.String toShortClassName(java.lang.String className)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PACKAGE_DELIM_CHAR

public static final char PACKAGE_DELIM_CHAR
関連項目:
定数フィールド値

PACKAGE_DELIM

public static final java.lang.String PACKAGE_DELIM
関連項目:
定数フィールド値
コンストラクタの詳細

ClassUtils

public ClassUtils()
メソッドの詳細

newObject

public static java.lang.Object newObject(java.lang.String className,
                                         java.lang.ClassLoader classLoader,
                                         java.lang.Class baseClass)
                                  throws java.lang.InstantiationException
クラス名によって指定されたクラスのインスタンスを生成します。

パラメータ:
className - 生成されるクラスの名前
classLoader - クラスを名前で検索する際のクラスローダ nullを指定した場合には、カレントスレッドのコンテキストクラスローダが使用されます。
baseClass - 生成されるクラスの基底クラス nullを指定した場合には、Objectクラスのclass変数が使用されます。
戻り値:
生成されたインスタンス
例外:
java.lang.InstantiationException

newObject

public static java.lang.Object newObject(java.lang.String className,
                                         java.lang.Class baseClass)
                                  throws java.lang.InstantiationException
クラス名によって指定されたクラスのインスタンスを生成します。

パラメータ:
className - 生成されるクラスの名前
baseClass - 生成されるクラスの基底クラス nullを指定した場合には、Objectクラスのclass変数が使用されます。
戻り値:
生成されたインスタンス
例外:
java.lang.InstantiationException

newObject

public static java.lang.Object newObject(java.lang.Class instanciateClass,
                                         java.lang.Class baseClass)
                                  throws java.lang.InstantiationException
指定されたクラスのインスタンスを生成します。

パラメータ:
instanciateClass - 生成されるクラス
baseClass - 生成されるクラスの基底クラス nullを指定した場合には、Objectクラスのclass変数が使用されます。
戻り値:
生成されたインスタンス
例外:
java.lang.InstantiationException

newObject

public static java.lang.Object newObject(java.lang.Class instanciateClass,
                                         java.lang.Class baseClass,
                                         java.lang.Object[] params)
                                  throws java.lang.InstantiationException
コンストラクタを検索しインスタンスを生成します。

パラメータ:
instanciateClass - 生成されるインスタンスのクラス。
baseClass - 生成されるインスタンスのクラスの基底クラス nullを指定した場合には、Objectクラスのclass変数が使用されます。
params - コンストラクタに渡される引数。
戻り値:
生成されたインスタンス
例外:
java.lang.InstantiationException

newObject

public static java.lang.Object newObject(java.lang.String className,
                                         java.lang.ClassLoader classLoader,
                                         java.lang.Class baseClass,
                                         java.lang.Object[] params)
                                  throws java.lang.InstantiationException
コンストラクタを検索しインスタンスを生成します。

パラメータ:
className - 生成されるクラスの名前
classLoader - クラスを名前で検索する際のクラスローダ nullを指定した場合には、カレントスレッドのコンテキストクラスローダが使用されます。
baseClass - 生成されるインスタンスのクラスの基底クラス nullを指定した場合には、Objectクラスのclass変数が使用されます。
params - コンストラクタに渡される引数。
戻り値:
生成されたインスタンス
例外:
java.lang.InstantiationException

findConstructor

public static java.lang.reflect.Constructor findConstructor(java.lang.Class targetClass,
                                                            java.lang.Object[] params)
クラスと引数からコンストラクタを検索します。


matchTypes

public static boolean matchTypes(java.lang.Object[] values,
                                 java.lang.Class[] valueTypes)
引数valuesの各要素が、引数valueTypesの各要素(Classクラスのインスタンス)の インスタンスとして対応するるかどうかを判断します。

戻り値:
全てのvalueのクラスがvalueTypesと合致すればtrue、一つでも合致しないものがあればfalse。

modifierToString

public static java.util.List modifierToString(int value)

isAssignableFrom

public static boolean isAssignableFrom(java.lang.Class target,
                                       java.lang.String className)
指定したtargetクラスが、classNameで表されるクラス名のクラスかどうかを返す。 もし、クラス名でなかった場合はtargetクラスのスーパークラスのクラス名と比較する。

パラメータ:
target - 対象となるClassクラスのインスタンス
className - 照合するクラス名。
戻り値:
継承ツリーをさかのぼった結果、クラス名がclassNameと照合するクラスがあればtrueなければfalse

showClassLoaders

public static void showClassLoaders()

showClassLoaders

public static void showClassLoaders(java.lang.Class clazz)

showClassLoaders

public static void showClassLoaders(java.lang.ClassLoader loader)

getClassLoaderDepth

public static int getClassLoaderDepth(java.lang.ClassLoader loader)

isAncestor

public static boolean isAncestor(java.lang.ClassLoader ancestor,
                                 java.lang.ClassLoader target)

toShortClassName

public static java.lang.String toShortClassName(java.lang.Class class1)

toShortClassName

public static java.lang.String toShortClassName(java.lang.String className)


Copyright © 2004 asyrinx organization. All Rights Reserved.