@SuppressWarnings("unchecked") public static <T> T newProxyInstance(Class<T> interfaceClass, T delegate) { return (T)Proxy.newProxyInstance(interfaceClass.getClassLoader(), new Class<?>[] {interfaceClass}, new SingleCallProxy(delegate)); }
/** * This creates a one time use visitable. The only proper use of the returned class is to call * accept on it directly and never reference it again. */ @SuppressWarnings("unchecked") public static <T> BatchingVisitable<T> create(final Iterator<? extends T> iterator) { return SingleCallProxy.newProxyInstance(BatchingVisitable.class, create((Iterable<T>) () -> IteratorUtils.wrap(iterator)) ); }
@SuppressWarnings("unchecked") public static <T> T newProxyInstance(Class<T> interfaceClass, T delegate) { return (T)Proxy.newProxyInstance(interfaceClass.getClassLoader(), new Class<?>[] {interfaceClass}, new SingleCallProxy(delegate)); }
/** * This creates a one time use visitable. The only proper use of the returned class is to call * accept on it directly and never reference it again. */ @SuppressWarnings("unchecked") public static <T> BatchingVisitable<T> create(final Iterator<? extends T> iterator) { return SingleCallProxy.newProxyInstance(BatchingVisitable.class, create((Iterable<T>) () -> IteratorUtils.wrap(iterator)) ); }