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