
org.zeroturnaround.javarebel.integration.tomcat.WebappClassLoaderClassBytecodeProcessor Maven / Gradle / Ivy
package org.zeroturnaround.javarebel.integration.tomcat;
import org.zeroturnaround.bundled.javassist.ClassPool;
import org.zeroturnaround.bundled.javassist.CtClass;
import org.zeroturnaround.bundled.javassist.CtMethod;
import org.zeroturnaround.javarebel.integration.generic.FindClassClassBytecodeProcessor;
public class WebappClassLoaderClassBytecodeProcessor extends
FindClassClassBytecodeProcessor {
public void process(ClassPool cp, ClassLoader cl, CtClass ctClass) throws Exception {
super.process(cp, cl, ctClass);
CtMethod m = ctClass.getMethod("findLoadedResource", "(Ljava/lang/String;)Ljava/io/InputStream;");
m.setBody(
"{ " +
" java.net.URL url = findResource($1);" +
" try {" +
" return url != null ? url.openStream() : null;" +
" } catch (java.io.IOException e) {" +
" return null;" +
" }" +
"}");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy