|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の doDefineClass
className
- クラス名bytes
- クラスファイル形式のバイト列
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |