package org.infinispan.util; import org.infinispan.commons.util.CloseableIterator; import org.infinispan.commons.util.CloseableIteratorCollection; import org.infinispan.commons.util.CloseableSpliterator; /** * Delegating collection that produces closeable iterators and spliterators from the collection returned from * {@link AbstractDelegatingCloseableIteratorCollection#delegate()} method. * @param <E> The type in the collection */ public abstract class AbstractDelegatingCloseableIteratorCollection<E> extends AbstractDelegatingCollection<E> implements CloseableIteratorCollection<E> { protected abstract CloseableIteratorCollection<E> delegate(); @Override public CloseableIterator<E> iterator() { return delegate().iterator(); } @Override public CloseableSpliterator<E> spliterator() { return delegate().spliterator(); } }