T
- the type of elements returned by this CloseableIterator
.public interface CloseableIterator<T>
extends java.util.Iterator<T>, java.lang.AutoCloseable
Iterator
that is also an AutoCloseable
.
This interface is meant to be used in places where an Iterator
contains state that is required to be
cleared irrespective of whether data from the Iterator
is completely consumed
(i.e. Iterator.hasNext()
is called till it returns false
) or not.
This interface provides a way for a user of such an Iterator
to discard data, by calling
AutoCloseable.close()
.
When using CloseableIterator
, it is expected that the user will either consume all the data from the
Iterator
or explicitly call AutoCloseable.close()
to dispose the remaining data.