|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.ClassLoader org.seasar.framework.jpa.util.AbstractClassLoader org.seasar.framework.jpa.util.TransformClassLoader
public class TransformClassLoader
未ロードのクラスをトランスフォームし、トランスフォーム後のクラスのクラスを適切なクラスローダーにロードするクラスローダです。
フィールドの概要 | |
---|---|
protected PersistenceClassTransformer |
persistenceClassTransformer
永続クラスのトランスフォーマ |
protected PersistenceUnitInfo |
persistenceUnitInfo
永続ユニット情報 |
protected List<ClassTransformer> |
transformers
クラストランスフォーマのリスト |
クラス org.seasar.framework.jpa.util.AbstractClassLoader から継承されたフィールド |
---|
includedNames |
コンストラクタの概要 | |
---|---|
TransformClassLoader()
インスタンスを構築します。 |
|
TransformClassLoader(ClassLoader parent)
インスタンスを構築します。 |
|
TransformClassLoader(ClassLoader parent,
Set<String> includedNames)
インスタンスを構築します。 |
メソッドの概要 | |
---|---|
void |
addTransformer(ClassTransformer transformer)
クラストランスフォーマを登録します。 |
protected Class<?> |
doDefineClass(String className,
byte[] bytes)
クラスを定義します。 |
void |
registerPersistenceClassTransformer(PersistenceClassTransformer persistenceClassTransformer)
永続クラスのトランスフォーマを登録します。 |
void |
registerPersistenceUnitInfo(PersistenceUnitInfo persistenceUnitInfo)
永続ユニット情報を登録します。 |
クラス 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 PersistenceClassTransformer persistenceClassTransformer
protected PersistenceUnitInfo persistenceUnitInfo
protected List<ClassTransformer> transformers
コンストラクタの詳細 |
---|
public TransformClassLoader()
コンテキストクラスローダからロードされるクラス及び、java.
またはjavax.
で始まるクラスを除いて
親クラスローダに委譲せず、PersistenceClassTransformer.transform(PersistenceUnitInfo, String, byte[])
を呼び出してロードするように構成します。
public TransformClassLoader(ClassLoader parent)
ブートストラップクラスローダからロードされるクラス及び、java.
またはjavax.
で始まるクラスを除いて
親クラスローダに委譲せず、PersistenceClassTransformer.transform(PersistenceUnitInfo, String, byte[])
を呼び出してロードするように構成します。
parent
- 親クラスローダpublic TransformClassLoader(ClassLoader parent, Set<String> includedNames)
includedNames
に含まれる名前のクラスのみ、 親クラスローダに委譲せず、
PersistenceClassTransformer.transform(PersistenceUnitInfo, String, byte[])
を呼び出してロードするように構成します。
ただし、ブートストラップクラスローダからロードされるクラス及び、 java.
またはjavax.
で始まるクラスを除きます。
parent
- 親クラスローダincludedNames
- 親より先にロードする対象となるクラス名のセットメソッドの詳細 |
---|
public void registerPersistenceClassTransformer(PersistenceClassTransformer persistenceClassTransformer)
persistenceClassTransformer
- 永続クラスのトランスフォーマpublic void registerPersistenceUnitInfo(PersistenceUnitInfo persistenceUnitInfo)
persistenceUnitInfo
- 永続ユニット情報public void addTransformer(ClassTransformer transformer)
transformer
- クラストランスフォーマprotected Class<?> doDefineClass(String className, byte[] bytes)
AbstractClassLoader
の記述:
AbstractClassLoader
内の doDefineClass
className
- クラス名bytes
- クラスファイル形式のバイト列
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |