クラス WeavingTransformer

java.lang.ObjectSE
org.springframework.instrument.classloading.WeavingTransformer

public class WeavingTransformer extends ObjectSE
ClassFileTransformer ベースのウィーバー。Transformer のリストをクラスバイト配列に適用できます。通常、クラスローダー内で使用されます。

メモ: このクラスは、(アプリケーションサーバーにデプロイされる)weaver jar に含まれているため、最小限の外部依存関係のために意図的に実装されています。

導入:
2.0
作成者:
Rod Johnson, Costin Leau, Juergen Hoeller
  • コンストラクターの詳細

    • WeavingTransformer

      public WeavingTransformer(@Nullable ClassLoaderSE classLoader)
      指定されたクラスローダーの新しい WeavingTransformer を作成します。
      パラメーター:
      classLoader - ClassLoader でトランスを構築
  • メソッドの詳細

    • addTransformer

      public void addTransformer(ClassFileTransformerSE transformer)
      このウィーバーによって適用されるクラスファイルトランスフォーマーを追加します。
      パラメーター:
      transformer - 登録するクラスファイルトランスフォーマー
    • transformIfNecessary

      public byte[] transformIfNecessary(StringSE className, byte[] bytes)
      指定されたクラスバイト定義に変換を適用します。このメソッドは常に null 以外のバイト配列を返します(変換が行われていない場合、配列の内容は元の配列と同じになります)。
      パラメーター:
      className - ドット形式のクラスの完全修飾名 (つまり、some.package.SomeClass)
      bytes - クラスバイト定義
      戻り値:
      (変換される可能性があります)クラスバイト定義
    • transformIfNecessary

      public byte[] transformIfNecessary(StringSE className, StringSE internalName, byte[] bytes, @Nullable ProtectionDomainSE pd)
      指定されたクラスバイト定義に変換を適用します。このメソッドは常に null 以外のバイト配列を返します(変換が行われていない場合、配列の内容は元の配列と同じになります)。
      パラメーター:
      className - ドット形式のクラスの完全修飾名 (つまり、some.package.SomeClass)
      internalName - / 形式のクラス名内部名 (つまり、some/package/SomeClass)
      bytes - クラスバイト定義
      pd - 使用する保護ドメイン (null にすることができます)
      戻り値:
      (変換される可能性があります)クラスバイト定義