public class SimpleInstrumentableClassLoader extends OverridingClassLoader
ClassLoader.
Usable in tests and standalone environments.
DEFAULT_EXCLUDED_PACKAGES| Constructor and Description |
|---|
SimpleInstrumentableClassLoader(ClassLoader parent)
Create a new
SimpleLoadTimeWeaver for the given
ClassLoader. |
| Modifier and Type | Method and Description |
|---|---|
void |
addTransformer(ClassFileTransformer transformer)
Add a
ClassFileTransformer to be applied by this
ClassLoader. |
protected byte[] |
transformIfNecessary(String name,
byte[] bytes)
Transformation hook to be implemented by subclasses.
|
isEligibleForOverriding, loadBytesForClass, loadClass, loadClassForOverriding, openStreamForClassexcludeClass, excludePackage, isExcludedclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic SimpleInstrumentableClassLoader(ClassLoader parent)
SimpleLoadTimeWeaver for the given
ClassLoader.parent - the ClassLoader to build a simple
instrumentable ClassLoader forpublic void addTransformer(ClassFileTransformer transformer)
ClassFileTransformer to be applied by this
ClassLoader.transformer - the ClassFileTransformer to registerprotected byte[] transformIfNecessary(String name, byte[] bytes)
OverridingClassLoaderThe default implementation simply returns the given bytes as-is.
transformIfNecessary in class OverridingClassLoadername - the fully-qualified name of the class being transformedbytes - the raw bytes of the classnull;
same as the input bytes if the transformation produced no changes)