All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zeroturnaround.javarebel.integration.catalina.ApplicationContextFacadeCBP Maven / Gradle / Ivy

The newest version!
package org.zeroturnaround.javarebel.integration.catalina;

import org.zeroturnaround.bundled.javassist.ClassPool;
import org.zeroturnaround.bundled.javassist.CtClass;
import org.zeroturnaround.bundled.javassist.CtNewMethod;
import org.zeroturnaround.javarebel.RebelServletConextFacade;
import org.zeroturnaround.javarebel.RebelServletContext;
import org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor;

/**
 * Transforms org.apache.catalina.core.ApplicationContextFacade.
 * 
 * @see RebelServletConextFacade
 * 
 * @author Rein Raudjärv
 */
public class ApplicationContextFacadeCBP extends JavassistClassBytecodeProcessor {

  public void process(ClassPool cp, ClassLoader cl, CtClass ctClass) throws Exception {
    ctClass.addInterface(cp.get(RebelServletConextFacade.class.getName()));
    
    ctClass.addMethod(CtNewMethod.make(
        "public " + RebelServletContext.class.getName() + " " + RebelServletConextFacade.METHOD_NAME + "() {" +
        "  return (" + RebelServletContext.class.getName() + ") context;" +
        "}",
        ctClass));
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy