public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, T... delegatesToCall) { return newProxyInstance(interfaceClass, mainDelegate, Arrays.asList(delegatesToCall)); }
/** * For each method invoked on the returned object, {@link Supplier#get()} will be called * and iterated over. */ @SuppressWarnings("unchecked") public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, Supplier<? extends Iterable<? extends T>> dynamicDelegatesToCall) { return (T)Proxy.newProxyInstance(interfaceClass.getClassLoader(), new Class<?>[] {interfaceClass}, new MultiDelegateProxy<T>(mainDelegate, dynamicDelegatesToCall)); }
/** * This will copy off all the objects in delegatesToCall. */ public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, Iterable<? extends T> delegatesToCall) { return newProxyInstance(interfaceClass, mainDelegate, Suppliers.ofInstance(ImmutableList.copyOf(delegatesToCall))); }
/** * For each method invoked on the returned object, {@link Supplier#get()} will be called * and iterated over. */ @SuppressWarnings("unchecked") public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, Supplier<? extends Iterable<? extends T>> dynamicDelegatesToCall) { return (T)Proxy.newProxyInstance(interfaceClass.getClassLoader(), new Class<?>[] {interfaceClass}, new MultiDelegateProxy<T>(mainDelegate, dynamicDelegatesToCall)); }
public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, T... delegatesToCall) { return newProxyInstance(interfaceClass, mainDelegate, Arrays.asList(delegatesToCall)); }
/** * This will copy off all the objects in delegatesToCall. */ public static <T> T newProxyInstance(Class<T> interfaceClass, T mainDelegate, Iterable<? extends T> delegatesToCall) { return newProxyInstance(interfaceClass, mainDelegate, Suppliers.ofInstance(ImmutableList.copyOf(delegatesToCall))); }
final KeyValueService kvMock = m.mock(KeyValueService.class); final LockService lockMock = m.mock(LockService.class); LockService lock = MultiDelegateProxy.newProxyInstance(LockService.class, lockService, lockMock);
Mockery m = new Mockery(); final KeyValueService kvMock = m.mock(KeyValueService.class); KeyValueService kv = MultiDelegateProxy.newProxyInstance(KeyValueService.class, keyValueService, kvMock);