# Package org.springframework.instrument.classloading

Support package for load time weaving based on class loaders, as required by JPA providers (but not JPA-specific).

See: Description

Interface Summary
Interface | Description
--- | ---
LoadTimeWeaver | Defines the contract for adding one or more `ClassFileTransformers` to a `ClassLoader`.

Class Summary
Class | Description
--- | ---
InstrumentationLoadTimeWeaver | `LoadTimeWeaver` relying on VM `Instrumentation`.
ReflectiveLoadTimeWeaver | `LoadTimeWeaver` which uses reflection to delegate to an underlying ClassLoader with well-known transformation hooks.
ResourceOverridingShadowingClassLoader | Subclass of ShadowingClassLoader that overrides attempts to locate certain files.
ShadowingClassLoader | ClassLoader decorator that shadows an enclosing ClassLoader, applying registered transformers to all affected classes.
SimpleInstrumentableClassLoader | Simplistic implementation of an instrumentable `ClassLoader`.
SimpleLoadTimeWeaver | `LoadTimeWeaver` that builds and exposes a `SimpleInstrumentableClassLoader`.
SimpleThrowawayClassLoader | ClassLoader that can be used to load classes without bringing them into the parent loader.
WeavingTransformer | ClassFileTransformer-based weaver, allowing for a list of transformers to be applied on a class byte array.
WeavingTransformer | ClassFileTransformer-based weaver, allowing for a list of transformers to be applied on a class byte array.

## Package org.springframework.instrument.classloading Description

Support package for load time weaving based on class loaders, as required by JPA providers (but not JPA-specific).