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