|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.instrument.classloading.WeavingTransformer
public class 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).
Field Summary | |
---|---|
private java.lang.ClassLoader |
classLoader
|
private java.util.List<java.lang.instrument.ClassFileTransformer> |
transformers
|
Constructor Summary | |
---|---|
WeavingTransformer(java.lang.ClassLoader classLoader)
Create a new WeavingTransformer for the given class loader. |
Method Summary | |
---|---|
void |
addTransformer(java.lang.instrument.ClassFileTransformer transformer)
Add a class file transformer to be applied by this weaver. |
byte[] |
transformIfNecessary(java.lang.String className,
byte[] bytes)
Apply transformation on a given class byte definition. |
byte[] |
transformIfNecessary(java.lang.String className,
java.lang.String internalName,
byte[] bytes,
java.security.ProtectionDomain pd)
Apply transformation on a given class byte definition. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.lang.ClassLoader classLoader
private final java.util.List<java.lang.instrument.ClassFileTransformer> transformers
Constructor Detail |
---|
public WeavingTransformer(java.lang.ClassLoader classLoader)
classLoader
- the ClassLoader to build a transformer forMethod Detail |
---|
public void addTransformer(java.lang.instrument.ClassFileTransformer transformer)
transformer
- the class file transformer to registerpublic byte[] transformIfNecessary(java.lang.String className, byte[] bytes)
className
- the full qualified name of the class in dot format (i.e. some.package.SomeClass)bytes
- class byte definition
public byte[] transformIfNecessary(java.lang.String className, java.lang.String internalName, byte[] bytes, java.security.ProtectionDomain pd)
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 definitionpd
- protection domain to be used (can be null)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |