## org.springframework.instrument.classloading
Interface LoadTimeWeaver

All Known Implementing Classes:
  DefaultContextLoadTimeWeaver, GlassFishLoadTimeWeaver, InstrumentationLoadTimeWeaver, OC4JLoadTimeWeaver, ReflectiveLoadTimeWeaver, SimpleLoadTimeWeaver, WebLogicLoadTimeWeaver

    public interface LoadTimeWeaver

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

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

Since:
  2.0
Author:
  Rod Johnson, Costin Leau
See Also:
  `ClassFileTransformer`

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

Method Detail

### addTransformer

    void addTransformer(ClassFileTransformer transformer)

  Add a `ClassFileTransformer` to be applied by this `LoadTimeWeaver`.

  Parameters:
    `transformer` - the `ClassFileTransformer` to add

### getInstrumentableClassLoader

    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

### getThrowawayClassLoader

    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

Copyright © 2002-2008 The Spring Framework.