public interface

LoadTimeWeaver

org.springframework.instrument.classloading.LoadTimeWeaver
Known Indirect Subclasses

Class Overview

Defines the contract for adding one or more ClassFileTransformer ClassFileTransformers to a ClassLoader.

Implementations may operate on the current context ClassLoader or expose their own instrumentable ClassLoader.

See Also
  • java.lang.instrument.ClassFileTransformer

Summary

Public Methods
abstract void addTransformer(ClassFileTransformer transformer)
Add a ClassFileTransformer to be applied by this LoadTimeWeaver.
abstract ClassLoader getInstrumentableClassLoader()
Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.
abstract ClassLoader getThrowawayClassLoader()
Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.

Public Methods

public abstract void addTransformer (ClassFileTransformer transformer)

Add a ClassFileTransformer to be applied by this LoadTimeWeaver.

Parameters
transformer the ClassFileTransformer to add

public abstract ClassLoader getInstrumentableClassLoader ()

Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.

May be the current ClassLoader, or a ClassLoader created by this LoadTimeWeaver instance.

Returns
  • the ClassLoader which will expose instrumented classes according to the registered transformers

public abstract ClassLoader getThrowawayClassLoader ()

Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.

Should not return the same instance of the ClassLoader returned from an invocation of getInstrumentableClassLoader().

Returns
  • a temporary throwaway ClassLoader; should return a new instance for each call, with no existing state