|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.ClassLoader
org.seasar.framework.jpa.util.AbstractClassLoader
org.seasar.framework.jpa.util.ChildFirstClassLoader
public class ChildFirstClassLoader
未ロードのクラスを親クラスローダに委譲せずに自身でロードするクラスローダです。
| フィールドの概要 | |
|---|---|
protected List<ClassLoaderListener> |
listeners
ClassLoaderListenerのリスト |
| クラス org.seasar.framework.jpa.util.AbstractClassLoader から継承されたフィールド |
|---|
includedNames |
| コンストラクタの概要 | |
|---|---|
ChildFirstClassLoader()
インスタンスを構築します。 |
|
ChildFirstClassLoader(ClassLoader parent)
インスタンスを構築します。 |
|
ChildFirstClassLoader(ClassLoader parent,
Set<String> includedNames)
インスタンスを構築します。 |
|
| メソッドの概要 | |
|---|---|
void |
addClassLoaderListener(ClassLoaderListener listener)
このクラスローダから クラスローダイベントを受け取るためにクラスローダリスナを追加します。 |
protected Class<?> |
doDefineClass(String className,
byte[] bytes)
クラスを定義します。 |
protected void |
fireClassDefinedEvent(String className,
byte[] bytecode,
Class<?> definedClass)
クラスが定義されたことを通知します。 |
void |
removeClassLoaderListener(ClassLoaderListener listener)
このクラスローダから クラスローダイベントを受け取らないためにクラスローダリスナを削除します。 |
| クラス org.seasar.framework.jpa.util.AbstractClassLoader から継承されたメソッド |
|---|
findClass, getSystemClass, isIncludedClass, loadClass, resolveClass |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
protected List<ClassLoaderListener> listeners
ClassLoaderListenerのリスト
| コンストラクタの詳細 |
|---|
public ChildFirstClassLoader()
コンテキストクラスローダからロードされるクラス及び、java.またはjavax.で始まるクラスを除いて
親クラスローダに委譲せずに自身でロードするように構成します。
public ChildFirstClassLoader(ClassLoader parent)
ブートストラップクラスローダからロードされるクラス及び、java.またはjavax.で始まるクラスを除いて
親クラスローダに委譲せずに自身でロードするように構成します。
parent - 親クラスローダ
public ChildFirstClassLoader(ClassLoader parent,
Set<String> includedNames)
includedNamesに含まれる名前のクラスのみ、
親クラスローダに委譲せずに自身でロードするように構成します。 ただし、ブートストラップクラスローダからロードされるクラス及び、
java.またはjavax.で始まるクラスを除きます。
parent - 親クラスローダincludedNames - 親より先にロードする対象となるクラス名のセット| メソッドの詳細 |
|---|
public void addClassLoaderListener(ClassLoaderListener listener)
クラスローダイベントを受け取るためにクラスローダリスナを追加します。
listener - リスナpublic void removeClassLoaderListener(ClassLoaderListener listener)
クラスローダイベントを受け取らないためにクラスローダリスナを削除します。
listener - リスナ
protected void fireClassDefinedEvent(String className,
byte[] bytecode,
Class<?> definedClass)
className - 見つかったクラス名bytecode - バイトコードが納められたバイト配列definedClass - 定義されたクラス
protected Class<?> doDefineClass(String className,
byte[] bytes)
AbstractClassLoader の記述:
AbstractClassLoader 内の doDefineClassclassName - クラス名bytes - クラスファイル形式のバイト列
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||