package org.hotswap.agent.util.classloader; import org.hotswap.agent.javassist.CtClass; /** * @author Jiri Bubnik */ @Deprecated public class ClassLoaderProxy { ClassLoader targetClassLoader; public CtClass create(CtClass classToProxy) throws Exception { // CtPool ctPool = classToProxy; // ProxyFactory factory = new ProxyFactory(); // factory.setSuperclass(classToProxy); // factory. // // Class proxy = factory.createClass(); // // new ClassFile() // // // MethodHandler handler = new MethodHandler() { // // @Override // public Object invoke(Object self, Method overridden, Method forwarder, // Object[] args) throws Throwable { // System.out.println("do something "+overridden.getName()); // // Class classInTargetClassLoader = targetClassLoader.loadClass(classToProxy.getName()); // Method methodInTargetClassLoader = classInTargetClassLoader.getDeclaredMethod( // overridden.getName(), overridden.getParameterTypes() // ); // // Class returnType = overridden.getReturnType(); // // return methodInTargetClassLoader.invoke(null, args); // } // }; // Object instance = proxy.newInstance(); // ((ProxyObject) instance).setHandler(handler); // return (T) instance; return null; } }