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