# 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).