クラス WeavingTransformer
java.lang.ObjectSE
org.springframework.instrument.classloading.WeavingTransformer
ClassFileTransformer ベースのウィーバー。Transformer のリストをクラスバイト配列に適用できます。通常、クラスローダー内で使用されます。
メモ: このクラスは、(アプリケーションサーバーにデプロイされる)weaver jar に含まれているため、最小限の外部依存関係のために意図的に実装されています。
- 導入:
- 2.0
- 作成者:
- Rod Johnson, Costin Leau, Juergen Hoeller
コンストラクターのサマリー
コンストラクターコンストラクター説明WeavingTransformer
(ClassLoaderSE classLoader) 指定されたクラスローダーの新しい WeavingTransformer を作成します。方法の概要
修飾子と型メソッド説明void
addTransformer
(ClassFileTransformerSE transformer) このウィーバーによって適用されるクラスファイルトランスフォーマーを追加します。byte[]
transformIfNecessary
(StringSE className, byte[] bytes) 指定されたクラスバイト定義に変換を適用します。byte[]
transformIfNecessary
(StringSE className, StringSE internalName, byte[] bytes, ProtectionDomainSE pd) 指定されたクラスバイト定義に変換を適用します。
コンストラクターの詳細
WeavingTransformer
指定されたクラスローダーの新しい WeavingTransformer を作成します。- パラメーター:
classLoader
- ClassLoader でトランスを構築
メソッドの詳細
addTransformer
このウィーバーによって適用されるクラスファイルトランスフォーマーを追加します。- パラメーター:
transformer
- 登録するクラスファイルトランスフォーマー
transformIfNecessary
指定されたクラスバイト定義に変換を適用します。このメソッドは常に 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
にすることができます)- 戻り値:
- (変換される可能性があります)クラスバイト定義