Class CacheAwareJavassistClassBytecodeProcessor
- java.lang.Object
-
- org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor
-
- org.zeroturnaround.javarebel.integration.support.CacheAwareJavassistClassBytecodeProcessor
-
- All Implemented Interfaces:
org.zeroturnaround.javarebel.ClassBytecodeProcessor
- Direct Known Subclasses:
BaseServletContextImplClassBytecodeProcessor,ImplementInterfaceCBP,NopConstructorCBP,StandardClassLoaderCBP
public abstract class CacheAwareJavassistClassBytecodeProcessor extends JavassistClassBytecodeProcessor
Processors that extend this class arecachedby default.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCacheAwareJavassistClassBytecodeProcessor.CachingPolicyA caching policy of aJavassistClassBytecodeProcessor.
-
Constructor Summary
Constructors Constructor Description CacheAwareJavassistClassBytecodeProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CacheAwareJavassistClassBytecodeProcessor.CachingPolicygetCachingPolicy(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl)Returns the caching policy used by this processor.protected byte[]process(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, String classname, byte[] bytecode)-
Methods inherited from class org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor
acceptPathAsClass, acceptPathAsPrimitive, priority, process, process, setImplicitClassNames
-
-
-
-
Method Detail
-
process
protected final byte[] process(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, String classname, byte[] bytecode) throws Exception- Overrides:
processin classJavassistClassBytecodeProcessor- Throws:
Exception
-
getCachingPolicy
protected CacheAwareJavassistClassBytecodeProcessor.CachingPolicy getCachingPolicy(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl)
Returns the caching policy used by this processor.If a processor uses a caching policy that isn't equal to
NEVER, then its transformations may be cached between runs. A processor then needs to make sure that itsprocessmethod does not have any side effects.Also, the processing of a keyless processor may only depend on the structure of the processed class. In case of any other dependencies (e.g. the existence or structure of other classes in the class pool, configuration options etc), a
keyshould be used to identify the processing configuration. This method returnsALWAYSin its default implementation.
-
-