|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.ClassLoader org.seasar.framework.jpa.util.AbstractClassLoader
public abstract class AbstractClassLoader
未ロードのクラスを親クラスローダに委譲せず自身で処理するクラスローダのための抽象クラスです。
フィールドの概要 | |
---|---|
protected Set<String> |
includedNames
親クラスローダに委譲せずに自身で処理する対象となるクラス名のセット |
コンストラクタの概要 | |
---|---|
AbstractClassLoader()
インスタンスを構築します。 |
|
AbstractClassLoader(ClassLoader parent)
インスタンスを構築します。 |
|
AbstractClassLoader(ClassLoader parent,
Set<String> includedNames)
インスタンスを構築します。 |
メソッドの概要 | |
---|---|
protected abstract Class<?> |
doDefineClass(String className,
byte[] bytes)
クラスを定義します。 |
protected Class<?> |
findClass(String className)
|
protected Class<?> |
getSystemClass(String className)
クラス名で指定されたクラスをブートストラップクラスローダからロードできればそのクラスを返します。 |
protected boolean |
isIncludedClass(String className)
クラス名が親クラスローダに委譲せずに自身で処理する対象の場合は true を、 それ以外の場合はfalse を返します。 |
protected Class<?> |
loadClass(String className,
boolean resolve)
|
protected Class<?> |
resolveClass(boolean resolve,
Class<?> clazz)
resolve がtrue であればクラスをリンクします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected final Set<String> includedNames
コンストラクタの詳細 |
---|
public AbstractClassLoader()
コンテキストクラスローダからロードされるクラス及び、java.
またはjavax.
で始まるクラスは親クラスローダに委譲せずに自身で処理するように構成します。
public AbstractClassLoader(ClassLoader parent)
ブートストラップクラスローダからロードされるクラス及び、java.
またはjavax.
で始まるクラスは親クラスローダに委譲せずに自身で処理するように構成します。
parent
- 親クラスローダpublic AbstractClassLoader(ClassLoader parent, Set<String> includedNames)
includedNames
に含まれる名前のクラスのみ、 親クラスローダに委譲せずに自身で処理するように構成します。
ただし、ブートストラップクラスローダからロードされるクラス及び、 java.
またはjavax.
で始まるクラスを除きます。
parent
- 親クラスローダincludedNames
- 親より先にロードする対象となるクラス名のセットメソッドの詳細 |
---|
protected Class<?> loadClass(String className, boolean resolve) throws ClassNotFoundException
ClassLoader
内の loadClass
ClassNotFoundException
protected Class<?> getSystemClass(String className)
className
- クラス名
protected boolean isIncludedClass(String className)
true
を、 それ以外の場合はfalse
を返します。
親クラスローダに委譲せずに自身で処理する対象かどうかの判定は次の順で行われます。
java.
またはjavax.
で始まるクラスは対象外
className
- クラス名
true
protected Class<?> resolveClass(boolean resolve, Class<?> clazz)
resolve
がtrue
であればクラスをリンクします。
resolve
- クラスをリンクする場合はtrue
clazz
- リンクするクラス
Class
オブジェクトprotected Class<?> findClass(String className) throws ClassNotFoundException
ClassLoader
内の findClass
ClassNotFoundException
protected abstract Class<?> doDefineClass(String className, byte[] bytes)
className
- クラス名bytes
- クラスファイル形式のバイト列
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |