public static Object getProxy(ClassLoader loader, Class<?>[] interfaces, InvocationHandler handler) { return HELPER.getProxyInternal(loader, interfaces, handler); } }
public static Object getProxy(ClassLoader loader, Class<?>[] interfaces, InvocationHandler handler) { return HELPER.getProxyInternal(loader, interfaces, handler); }
public static Object getProxy(ClassLoader loader, Class[] interfaces, InvocationHandler handler) { return HELPER.getProxyInternal(loader, interfaces, handler); } }
public static Object getProxy(ClassLoader loader, Class<?>[] interfaces, InvocationHandler handler) { return HELPER.getProxyInternal(loader, interfaces, handler); } }
public static Object getProxy(ClassLoader loader, Class<?>[] interfaces, InvocationHandler handler) { return HELPER.getProxyInternal(loader, interfaces, handler); }
return enhancer.create(); } else { return super.getProxyInternal(loader, interfaces, h);
return enhancer.create(); } else { return super.getProxyInternal(loader, interfaces, h);
@Override protected Object getProxyInternal(ClassLoader loader, Class<?>[] interfaces, final java.lang.reflect.InvocationHandler h) { Class<?> superClass = null; List<Class<?>> theInterfaces = new ArrayList<>(); for (Class<?> c : interfaces) { if (!c.isInterface()) { if (superClass != null) { throw new IllegalArgumentException("Only a single superclass is supported"); } superClass = c; } else { theInterfaces.add(c); } } if (superClass != null) { Enhancer enhancer = new Enhancer(); enhancer.setClassLoader(loader); enhancer.setSuperclass(superClass); enhancer.setInterfaces(theInterfaces.toArray(new Class<?>[0])); enhancer.setCallback(new MethodInterceptor() { public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { return h.invoke(obj, method, args); } }); return enhancer.create(); } return super.getProxyInternal(loader, interfaces, h); }
@Override protected Object getProxyInternal(ClassLoader loader, Class<?>[] interfaces, final java.lang.reflect.InvocationHandler h) { Class<?> superClass = null; List<Class<?>> theInterfaces = new ArrayList<>(); for (Class<?> c : interfaces) { if (!c.isInterface()) { if (superClass != null) { throw new IllegalArgumentException("Only a single superclass is supported"); } superClass = c; } else { theInterfaces.add(c); } } if (superClass != null) { Enhancer enhancer = new Enhancer(); enhancer.setClassLoader(loader); enhancer.setSuperclass(superClass); enhancer.setInterfaces(theInterfaces.toArray(new Class<?>[0])); enhancer.setCallback(new MethodInterceptor() { public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { return h.invoke(obj, method, args); } }); return enhancer.create(); } return super.getProxyInternal(loader, interfaces, h); }
return enhancer.create(); } else { return super.getProxyInternal(loader, interfaces, h);