インタフェースCodeTransform

すべてのスーパー・インタフェース:
ClassFileTransform<CodeTransform, CodeElement, CodeBuilder>
関数型インタフェース:
これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。

@FunctionalInterface public non-sealed interface CodeTransform extends ClassFileTransform<CodeTransform, CodeElement, CodeBuilder>
CodeElementのストリームに対する変換。 ストリームは、CodeModel、またはCodeBuilder.transforming(java.lang.classfile.CodeTransform, java.util.function.Consumer<java.lang.classfile.CodeBuilder>)のようにCodeBuilderへのハンドラから取得できます。

classファイル形式の構造に対する変換の使用に関する一般的なガイダンスおよび注意事項は、ClassFileTransformを参照してください。

コード変換は、MethodTransform.transformingCode(CodeTransform)およびClassTransform.transformingMethodBodies(CodeTransform)を介してメソッドまたはクラス変換に持ち上げることができます。これらの構造内のCodeModelのみを変換し、他のすべての要素をビルダーに渡します。

導入されたバージョン:
24
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final CodeTransform
    すべての要素をビルダーに渡すコード変換。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    この変換を別の変換と連鎖します。この変換のビルダーに提示される要素は、次の変換への入力になります。
    各要素をビルダーに渡すコード変換を作成し、変換の完了時に指定された関数をコールします。
    Supplierからステートフル・コード変換を作成します。

    インタフェースjava.lang.classfile.ClassFileTransformで宣言されたメソッド

    accept, atEnd, atStart
  • フィールド詳細

    • ACCEPT_ALL

      static final CodeTransform ACCEPT_ALL
      すべての要素をビルダーに渡すコード変換。
  • メソッドの詳細

    • ofStateful

      static CodeTransform ofStateful(Supplier<CodeTransform> supplier)
      Supplierからステートフル・コード変換を作成します。 サプライヤは変換ごとに起動されます。
      パラメータ:
      supplier - 各トラバースに対して新しい変換オブジェクトを生成するSupplier
      戻り値:
      ステートフル・コード変換
    • endHandler

      static CodeTransform endHandler(Consumer<CodeBuilder> finisher)
      各要素をビルダーに渡すコード変換を作成し、変換の完了時に指定された関数をコールします。
      パラメータ:
      finisher - 変換が完了したときに呼び出す関数
      戻り値:
      コード変換
    • andThen

      default CodeTransform andThen(CodeTransform t)
      インタフェース: ClassFileTransformからコピーされた説明
      この変換を別の変換と連鎖します。この変換のビルダーに提示される要素は、次の変換への入力になります。

      このメソッドは、Class-File APIによって実装されます。 通常、ユーザーは、一般的なダウンストリーム変換に対してこのメソッドを正しくオーバーライドするために、クラス・ファイルAPI機能に十分なアクセス権がありません。

      定義:
      インタフェースClassFileTransform<CodeTransform, CodeElement, CodeBuilder>内のandThen
      実装要件:
      デフォルトの実装では、引数からの別のコード変換と連鎖したこのコード変換が返されます。 2つの変換を連鎖させるには、この変換のターゲット・ビルダーとして機能する連鎖ビルダーと、ダウンストリーム変換の要素のソースとしての役割を果たす必要があります。
      パラメータ:
      t - ダウンストリーム変換
      戻り値:
      連鎖した変換