public class

SimpleInstrumentableClassLoader

extends OverridingClassLoader
java.lang.Object
   ↳ java.lang.ClassLoader
     ↳ org.springframework.core.DecoratingClassLoader
       ↳ org.springframework.core.OverridingClassLoader
         ↳ org.springframework.instrument.classloading.SimpleInstrumentableClassLoader

Class Overview

Simplistic implementation of an instrumentable ClassLoader.

Usable in tests and standalone environments.

Summary

[Expand]
Inherited Fields
From class org.springframework.core.OverridingClassLoader
Public Constructors
SimpleInstrumentableClassLoader(ClassLoader parent)
Create a new SimpleLoadTimeWeaver for the given ClassLoader.
Public Methods
void addTransformer(ClassFileTransformer transformer)
Add a ClassFileTransformer to be applied by this ClassLoader.
Protected Methods
byte[] transformIfNecessary(String name, byte[] bytes)
Transformation hook to be implemented by subclasses.
[Expand]
Inherited Methods
From class org.springframework.core.OverridingClassLoader
From class org.springframework.core.DecoratingClassLoader
From class java.lang.ClassLoader
From class java.lang.Object

Public Constructors

public SimpleInstrumentableClassLoader (ClassLoader parent)

Create a new SimpleLoadTimeWeaver for the given ClassLoader.

Parameters
parent the ClassLoader to build a simple instrumentable ClassLoader for

Public Methods

public void addTransformer (ClassFileTransformer transformer)

Add a ClassFileTransformer to be applied by this ClassLoader.

Parameters
transformer the ClassFileTransformer to register

Protected Methods

protected byte[] transformIfNecessary (String name, byte[] bytes)

Transformation hook to be implemented by subclasses.

The default implementation simply returns the given bytes as-is.

Parameters
name the fully-qualified name of the class being transformed
bytes the raw bytes of the class
Returns
  • the transformed bytes (never null; same as the input bytes if the transformation produced no changes)