パッケージ jakarta.persistence.spi

インターフェース ClassTransformer


  • public interface ClassTransformer
    永続性プロバイダーは、このインターフェースのインスタンスを PersistenceUnitInfo.addTransformer メソッドに提供します。提供されたトランスフォーマーインスタンスは、エンティティクラスファイルがロードまたは再定義されるときに、変換するために呼び出されます。変換は、クラスが JVM によって定義される前に発生します。
    導入:
    1.0
    • メソッドの詳細

      • transform

        byte[] transform​(ClassLoaderSE loader,
                         StringSE className,
                         ClassSE<?> classBeingRedefined,
                         ProtectionDomainSE protectionDomain,
                         byte[] classfileBuffer)
                  throws TransformerException
        クラスがロードまたは再定義されているときに呼び出されます。このメソッドの実装は、提供されたクラスファイルを変換し、新しい置換クラスファイルを返す場合があります。
        パラメーター:
        loader - 変換されるクラスの定義ローダーは、ブートストラップローダーの場合は null になる可能性があります
        className - 完全修飾クラスおよびインターフェース名の内部形式でのクラスの名前
        classBeingRedefined - これが再定義の場合、クラスは再定義されます。それ以外の場合は null
        protectionDomain - 定義または再定義されているクラスの保護ドメイン
        classfileBuffer - クラスファイル形式の入力バイトバッファ - 変更しないでください
        戻り値:
        整形式のクラスファイルバッファ(変換の結果)、または変換が実行されない場合は null
        例外:
        TransformerException - 入力が整形式のクラスファイルを表していない場合