org.infinispan.commons.util.CloseableIterator Maven / Gradle / Ivy
package org.infinispan.commons.util;
import java.util.Iterator;
/**
* Interface that provides semantics of a {@link Iterator} and {@link AutoCloseable} interfaces. This is
* useful when you have data that must be iterated on and may hold resources in the underlying implementation that
* must be closed.
* Some implementations may close resources automatically when the iterator is finished being iterated on however
* this is an implementation detail and all callers should call {@link AutoCloseable#close()} method to be
* sure all resources are freed properly.
*
* @author wburns
* @since 7.0
*/
public interface CloseableIterator extends AutoCloseable, Iterator {
@Override
void close();
}