/** * INTERNAL: * * Utility method to create a new proxy object. */ public static Object newProxyInstance(Class anInterface, Class[] interfaces, ValueHolderInterface valueHolder) { ClassLoader classLoader = null; if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){ try{ classLoader = AccessController.doPrivileged(new PrivilegedGetClassLoaderForClass(anInterface)); }catch (PrivilegedActionException ex){ throw (RuntimeException) ex.getCause(); } }else{ classLoader = PrivilegedAccessHelper.getClassLoaderForClass(anInterface); } return Proxy.newProxyInstance(classLoader, interfaces, new ProxyIndirectionHandler(valueHolder)); }
/** * INTERNAL: * * Utility method to create a new proxy object. */ public static Object newProxyInstance(Class anInterface, Class[] interfaces, ValueHolderInterface valueHolder) { ClassLoader classLoader = null; if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){ try{ classLoader = AccessController.doPrivileged(new PrivilegedGetClassLoaderForClass(anInterface)); }catch (PrivilegedActionException ex){ throw (RuntimeException) ex.getCause(); } }else{ classLoader = PrivilegedAccessHelper.getClassLoaderForClass(anInterface); } return Proxy.newProxyInstance(classLoader, interfaces, new ProxyIndirectionHandler(valueHolder)); }
/** * INTERNAL: * * Utility method to create a new proxy object. */ public static Object newProxyInstance(Class anInterface, Class[] interfaces, ValueHolderInterface valueHolder) { ClassLoader classLoader = null; if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){ try{ classLoader = (ClassLoader)AccessController.doPrivileged(new PrivilegedGetClassLoaderForClass(anInterface)); }catch (PrivilegedActionException ex){ throw (RuntimeException) ex.getCause(); } }else{ classLoader = PrivilegedAccessHelper.getClassLoaderForClass(anInterface); } return Proxy.newProxyInstance(classLoader, interfaces, new ProxyIndirectionHandler(valueHolder)); }