概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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)

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright © 2004 asyrinx organization. All Rights Reserved.