|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.framework.util.ClassLoaderUtil
ClassLoader
を扱うためのユーティリティ・クラスです。
コンストラクタの概要 | |
protected |
ClassLoaderUtil()
インスタンスを構築します。 |
メソッドの概要 | |
static java.lang.Class |
defineClass(java.lang.ClassLoader classLoader,
java.lang.String className,
byte[] bytes,
int offset,
int length)
バイトの配列を Class クラスのインスタンスに変換します。 |
static java.lang.Package |
definePackage(java.lang.ClassLoader classLoader,
java.lang.String name,
java.lang.String specTitle,
java.lang.String specVersion,
java.lang.String specVendor,
java.lang.String implTitle,
java.lang.String implVersion,
java.lang.String implVendor,
java.net.URL sealBase)
指定の ClassLoader で名前を使ってパッケージを定義します。 |
static java.lang.Class |
findLoadedClass(java.lang.ClassLoader classLoader,
java.lang.String className)
指定のクラスローダまたはその祖先の暮らすローダが、 このバイナリ名を持つクラスの起動ローダとしてJava仮想マシンにより記録されていた場合は、 指定されたバイナリ名を持つクラスを返します。 |
static java.lang.ClassLoader |
getClassLoader(java.lang.Class targetClass)
クラスローダを返します。 |
static java.util.Iterator |
getResources(java.lang.ClassLoader loader,
java.lang.String name)
指定のクラスローダから指定された名前を持つすべてのリソースを探します。 |
static java.util.Iterator |
getResources(java.lang.Class targetClass,
java.lang.String name)
getClassLoader(Class) が返すクラスローダから指定された名前を持つすべてのリソースを探します。 |
static java.util.Iterator |
getResources(java.lang.String name)
コンテキストクラスローダから指定された名前を持つすべてのリソースを探します。 |
protected static boolean |
isAncestor(java.lang.ClassLoader cl,
java.lang.ClassLoader other)
クラスローダ other がクラスローダcl の祖先ならtrue を返します。 |
static java.lang.Class |
loadClass(java.lang.ClassLoader loader,
java.lang.String className)
指定されたバイナリ名を持つクラスをロードします。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
protected ClassLoaderUtil()
メソッドの詳細 |
public static java.lang.ClassLoader getClassLoader(java.lang.Class targetClass)
クラスローダは以下の順で検索します。
ただし、ターゲット・クラスをロードしたクラスローダとこのクラスをロードしたクラスローダの両方が取得できた場合で、 ターゲット・クラスをロードしたクラスローダがこのクラスをロードしたクラスローダの祖先であった場合は、 このクラスをロードしたクラスローダを返します。
targetClass
- ターゲット・クラス
java.lang.IllegalStateException
- クラスローダを取得できなかった場合public static java.util.Iterator getResources(java.lang.String name)
name
- リソース名
ClassLoader.getResources(String)
public static java.util.Iterator getResources(java.lang.Class targetClass, java.lang.String name)
getClassLoader(Class)
が返すクラスローダから指定された名前を持つすべてのリソースを探します。
targetClass
- ターゲット・クラスname
- リソース名
ClassLoader.getResources(String)
public static java.util.Iterator getResources(java.lang.ClassLoader loader, java.lang.String name)
loader
- クラスローダname
- リソース名
ClassLoader.getResources(String)
protected static boolean isAncestor(java.lang.ClassLoader cl, java.lang.ClassLoader other)
other
がクラスローダcl
の祖先ならtrue
を返します。
cl
- クラスローダother
- クラスローダ
other
がクラスローダcl
の祖先ならtrue
public static java.lang.Class findLoadedClass(java.lang.ClassLoader classLoader, java.lang.String className)
null
を返します。
classLoader
- クラスローダclassName
- クラスのバイナリ名
Class
オブジェクト。クラスがロードされていない場合はnull
ClassLoader.findLoadedClass(String)
public static java.lang.Class defineClass(java.lang.ClassLoader classLoader, java.lang.String className, byte[] bytes, int offset, int length)
Class
クラスのインスタンスに変換します。
classLoader
- バイナリデータからClass
クラスのインスタンスに変換するクラスローダclassName
- クラスのバイナリ名bytes
- クラスデータを構成するバイト列offset
- クラスデータbytes
の開始オフセットlength
- クラスデータの長さ
Class
オブジェクトClassLoader.defineClass(String, byte[], int, int)
public static java.lang.Package definePackage(java.lang.ClassLoader classLoader, java.lang.String name, java.lang.String specTitle, java.lang.String specVersion, java.lang.String specVendor, java.lang.String implTitle, java.lang.String implVersion, java.lang.String implVendor, java.net.URL sealBase)
ClassLoader
で名前を使ってパッケージを定義します。
classLoader
- パッケージを定義するクラスローダname
- パッケージ名specTitle
- 仕様のタイトルspecVersion
- 仕様のバージョンspecVendor
- 仕様のベンダーimplTitle
- 実装のタイトルimplVersion
- 実装のバージョンimplVendor
- 実装のベンダーsealBase
- null
でない場合、このパッケージは指定されたコードソースURL
オブジェクトを考慮してシールされる。そうでない場合、パッケージはシールされない
Package
オブジェクトClassLoader.definePackage(String, String, String, String,
String, String, String, URL)
public static java.lang.Class loadClass(java.lang.ClassLoader loader, java.lang.String className)
loader
- クラスローダclassName
- クラスのバイナリ名
Class
オブジェクト
ClassNotFoundRuntimeException
- クラスが見つからなかった場合ClassLoader.loadClass(String)
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |