package xml.c1342; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; public class Proxy implements MethodInterceptor { public static Object newInstance(final Object object){ try{ Proxy proxy = new Proxy(object); return Enhancer.create(object.getClass(), new Class[] {}, proxy); } catch (Throwable e){ e.printStackTrace(); throw new Error(e.getMessage()); } } private final Object _object; private Proxy(final Object object) { _object = object; } public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { return method.invoke(_object, args); } }