package org.gcube.common.authorization.library; import java.lang.reflect.Proxy; public class GenericProxyFactory { @SuppressWarnings("unchecked") public static T getProxy(Class intf, final I obj, ResourceAuthorizationProxy resourceAuthorizationProxy) { return (T) Proxy.newProxyInstance(obj.getClass().getClassLoader(), new Class[] { intf }, new AuthorizationInvocationHandler(obj, intf.getSimpleName(), resourceAuthorizationProxy)); } }