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