org.springframework.test.jpa
Class AbstractJpaTests.ShadowingLoadTimeWeaver

java.lang.Object
  extended by org.springframework.test.jpa.AbstractJpaTests.ShadowingLoadTimeWeaver
All Implemented Interfaces:
LoadTimeWeaver
Enclosing class:
AbstractJpaTests

private static class AbstractJpaTests.ShadowingLoadTimeWeaver
extends java.lang.Object
implements LoadTimeWeaver


Field Summary
private  java.lang.ClassLoader shadowingClassLoader
           
 
Constructor Summary
AbstractJpaTests.ShadowingLoadTimeWeaver(java.lang.ClassLoader shadowingClassLoader)
           
 
Method Summary
 void addTransformer(java.lang.instrument.ClassFileTransformer transformer)
          Add a ClassFileTransformer to be applied by this LoadTimeWeaver.
 java.lang.ClassLoader getInstrumentableClassLoader()
          Return a ClassLoader that supports instrumentation through AspectJ-style load-time weaving based on user-defined ClassFileTransformers.
 java.lang.ClassLoader getThrowawayClassLoader()
          Return a throwaway ClassLoader, enabling classes to be loaded and inspected without affecting the parent ClassLoader.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shadowingClassLoader

private final java.lang.ClassLoader shadowingClassLoader
Constructor Detail

AbstractJpaTests.ShadowingLoadTimeWeaver

public AbstractJpaTests.ShadowingLoadTimeWeaver(java.lang.ClassLoader shadowingClassLoader)
Method Detail

addTransformer

public void addTransformer(java.lang.instrument.ClassFileTransformer transformer)
Description copied from interface: LoadTimeWeaver
Add a ClassFileTransformer to be applied by this LoadTimeWeaver.

Specified by:
addTransformer in interface LoadTimeWeaver
Parameters:
transformer - the ClassFileTransformer to add

getInstrumentableClassLoader

public java.lang.ClassLoader getInstrumentableClassLoader()
Description copied from interface: LoadTimeWeaver
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.

Specified by:
getInstrumentableClassLoader in interface LoadTimeWeaver
Returns:
the ClassLoader which will expose instrumented classes according to the registered transformers

getThrowawayClassLoader

public java.lang.ClassLoader getThrowawayClassLoader()
Description copied from interface: LoadTimeWeaver
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 LoadTimeWeaver.getInstrumentableClassLoader().

Specified by:
getThrowawayClassLoader in interface LoadTimeWeaver
Returns:
a temporary throwaway ClassLoader; should return a new instance for each call, with no existing state