Class WeavingTransformer
java.lang.Object
org.springframework.instrument.classloading.WeavingTransformer
ClassFileTransformer-based weaver, allowing for a list of transformers to be
 applied on a class byte array. Normally used inside class loaders.
 
Note: This class is deliberately implemented for minimal external dependencies, since it is included in weaver jars (to be deployed into application servers).
- Since:
- 2.0
- Author:
- Rod Johnson, Costin Leau, Juergen Hoeller
- 
Constructor SummaryConstructorsConstructorDescriptionWeavingTransformer(ClassLoader classLoader) Create a new WeavingTransformer for the given class loader.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddTransformer(ClassFileTransformer transformer) Add a class file transformer to be applied by this weaver.byte[]transformIfNecessary(String className, byte[] bytes) Apply transformation on a given class byte definition.byte[]transformIfNecessary(String className, String internalName, byte[] bytes, ProtectionDomain pd) Apply transformation on a given class byte definition.
- 
Constructor Details- 
WeavingTransformerCreate a new WeavingTransformer for the given class loader.- Parameters:
- classLoader- the ClassLoader to build a transformer for
 
 
- 
- 
Method Details- 
addTransformerAdd a class file transformer to be applied by this weaver.- Parameters:
- transformer- the class file transformer to register
 
- 
transformIfNecessaryApply transformation on a given class byte definition. The method will always return a non-null byte array (if no transformation has taken place the array content will be identical to the original one).- Parameters:
- className- the full qualified name of the class in dot format (i.e. some.package.SomeClass)
- bytes- class byte definition
- Returns:
- (possibly transformed) class byte definition
 
- 
transformIfNecessarypublic byte[] transformIfNecessary(String className, String internalName, byte[] bytes, @Nullable ProtectionDomain pd) Apply transformation on a given class byte definition. The method will always return a non-null byte array (if no transformation has taken place the array content will be identical to the original one).- Parameters:
- className- the full qualified name of the class in dot format (i.e. some.package.SomeClass)
- internalName- class name internal name in / format (i.e. some/package/SomeClass)
- bytes- class byte definition
- pd- protection domain to be used (can be- null)
- Returns:
- (possibly transformed) class byte definition
 
 
-