Class JavassistClassBytecodeProcessor
- java.lang.Object
-
- org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor
-
- All Implemented Interfaces:
org.zeroturnaround.javarebel.ClassBytecodeProcessor
- Direct Known Subclasses:
CacheAwareJavassistClassBytecodeProcessor,CBPs.DelayedProcessor
public abstract class JavassistClassBytecodeProcessor extends Object implements org.zeroturnaround.javarebel.ClassBytecodeProcessor
Javassist-based bytecode processor callback.Any sub class is required to implement the
process(ClassPool, ClassLoader, CtClass)method.
-
-
Constructor Summary
Constructors Constructor Description JavassistClassBytecodeProcessor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanacceptPathAsClass(String classname)Says to javassist if the path can even be a class name.booleanacceptPathAsPrimitive(String classname)intpriority()byte[]process(ClassLoader cl, String name, byte[] bytecode)protected byte[]process(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, String classname, byte[] bytecode)abstract voidprocess(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, org.zeroturnaround.bundled.javassist.CtClass ctClass)Modifies the class to be loaded.voidsetImplicitClassNames(Map<String,String> implicitClassNames)Can modify the class name request from javassist.
-
-
-
Method Detail
-
process
public byte[] process(ClassLoader cl, String name, byte[] bytecode)
- Specified by:
processin interfaceorg.zeroturnaround.javarebel.ClassBytecodeProcessor
-
priority
public int priority()
- Specified by:
priorityin interfaceorg.zeroturnaround.javarebel.ClassBytecodeProcessor
-
process
protected byte[] process(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, String classname, byte[] bytecode) throws Exception- Throws:
Exception
-
setImplicitClassNames
public void setImplicitClassNames(Map<String,String> implicitClassNames)
Can modify the class name request from javassist. Used to improve performance to skip pointless name checks.
-
acceptPathAsClass
public boolean acceptPathAsClass(String classname)
Says to javassist if the path can even be a class name. Used to improve performance to skip pointless name checks.
-
acceptPathAsPrimitive
public boolean acceptPathAsPrimitive(String classname)
-
process
public abstract void process(org.zeroturnaround.bundled.javassist.ClassPool cp, ClassLoader cl, org.zeroturnaround.bundled.javassist.CtClass ctClass) throws ExceptionModifies the class to be loaded.- Parameters:
cp- the container ofCtClassobjects.cl- the class loader loading the given class.ctClass- the class representation.- Throws:
Exception
-
-