パッケージ jakarta.persistence.spi
インターフェース ClassTransformer
public interface ClassTransformer
永続性プロバイダーは、このインターフェースのインスタンスをPersistenceUnitInfo.addTransformer
メソッドに提供します。提供されたトランスフォーマーインスタンスは、エンティティクラスファイルがロードまたは再定義されるときに、変換するために呼び出されます。変換は、クラスが JVM によって定義される前に発生します。- 導入:
- 1.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 byte[]
transform(ClassLoaderSE loader, StringSE className, ClassSE<?> classBeingRedefined, ProtectionDomainSE protectionDomain, byte[] classfileBuffer)
クラスがロードまたは再定義されているときに呼び出されます。
メソッドの詳細
transform
byte[] transform(ClassLoaderSE loader, StringSE className, ClassSE<?> classBeingRedefined, ProtectionDomainSE protectionDomain, byte[] classfileBuffer) throws TransformerException
クラスがロードまたは再定義されているときに呼び出されます。このメソッドの実装は、提供されたクラスファイルを変換し、新しい置換クラスファイルを返す場合があります。- パラメーター:
loader
- 変換されるクラスの定義ローダーは、ブートストラップローダーの場合は null になる可能性がありますclassName
- 完全修飾クラスおよびインターフェース名の内部形式でのクラスの名前classBeingRedefined
- これが再定義の場合、クラスは再定義されます。それ以外の場合は nullprotectionDomain
- 定義または再定義されているクラスの保護ドメインclassfileBuffer
- クラスファイル形式の入力バイトバッファ - 変更しないでください- 戻り値:
- 整形式のクラスファイルバッファ(変換の結果)、または変換が実行されない場合は null
- 例外:
TransformerException
- 入力が整形式のクラスファイルを表していない場合