Class SimpleLoadTimeWeaver
- java.lang.Object
- org.springframework.instrument.classloading.SimpleLoadTimeWeaver
- All Implemented Interfaces:
LoadTimeWeaver
public class SimpleLoadTimeWeaver extends Object implements LoadTimeWeaver
LoadTimeWeaver
that builds and exposes aSimpleInstrumentableClassLoader
.Mainly intended for testing environments, where it is sufficient to perform all class transformation on a newly created
ClassLoader
instance.- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
getInstrumentableClassLoader()
,SimpleInstrumentableClassLoader
,ReflectiveLoadTimeWeaver
Constructor Summary
Constructors Constructor Description SimpleLoadTimeWeaver()
Create a newSimpleLoadTimeWeaver
for the current contextClassLoader
.SimpleLoadTimeWeaver(SimpleInstrumentableClassLoader classLoader)
Create a newSimpleLoadTimeWeaver
for the givenClassLoader
.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTransformer(ClassFileTransformer transformer)
Add aClassFileTransformer
to be applied by thisLoadTimeWeaver
.ClassLoader
getInstrumentableClassLoader()
Return aClassLoader
that supports instrumentation through AspectJ-style load-time weaving based on user-definedClassFileTransformers
.ClassLoader
getThrowawayClassLoader()
This implementation builds aSimpleThrowawayClassLoader
.
Constructor Detail
SimpleLoadTimeWeaver
public SimpleLoadTimeWeaver()
Create a newSimpleLoadTimeWeaver
for the current contextClassLoader
.- See Also:
SimpleInstrumentableClassLoader
SimpleLoadTimeWeaver
public SimpleLoadTimeWeaver(SimpleInstrumentableClassLoader classLoader)
Create a newSimpleLoadTimeWeaver
for the givenClassLoader
.- Parameters:
classLoader
- theClassLoader
to build a simple instrumentableClassLoader
on top of
Method Detail
addTransformer
public void addTransformer(ClassFileTransformer transformer)
Description copied from interface:LoadTimeWeaver
Add aClassFileTransformer
to be applied by thisLoadTimeWeaver
.- Specified by:
addTransformer
in interfaceLoadTimeWeaver
- Parameters:
transformer
- theClassFileTransformer
to add
getInstrumentableClassLoader
public ClassLoader getInstrumentableClassLoader()
Description copied from interface:LoadTimeWeaver
Return aClassLoader
that supports instrumentation through AspectJ-style load-time weaving based on user-definedClassFileTransformers
.May be the current
ClassLoader
, or aClassLoader
created by thisLoadTimeWeaver
instance.- Specified by:
getInstrumentableClassLoader
in interfaceLoadTimeWeaver
- Returns:
- the
ClassLoader
which will expose instrumented classes according to the registered transformers
getThrowawayClassLoader
public ClassLoader getThrowawayClassLoader()
This implementation builds aSimpleThrowawayClassLoader
.- Specified by:
getThrowawayClassLoader
in interfaceLoadTimeWeaver
- Returns:
- a temporary throwaway
ClassLoader
; should return a new instance for each call, with no existing state