Class AbstractIterator<E>

java.lang.Object
org.infinispan.commons.util.AbstractIterator<E>
All Implemented Interfaces:
Iterator<E>
Direct Known Subclasses:
AbstractInternalDataContainer.EntryIterator, BaseTableOperations.ResultSetEntryIterator, ConcatIterator, FilterIterator

public abstract class AbstractIterator<E> extends Object implements Iterator<E>
Abstract iterator that allows overriding just the getNext() method to implement it. This iterator works on the premise that a null value returned from getNext() means that this iterator is complete. Note this iterator does not implement Iterator.remove() and is up to implementors to do so.
Since:
9.2
Author:
wburns
  • Constructor Details

    • AbstractIterator

      public AbstractIterator()
  • Method Details

    • getNext

      protected abstract E getNext()
      Method to implement to provide an iterator implementation. When this method returns null, the iterator is complete.
      Returns:
      the next value for the iterator to return or null for it to be complete.
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<E>
    • next

      public E next()
      Specified by:
      next in interface Iterator<E>
    • forEachRemaining

      public void forEachRemaining(Consumer<? super E> action)
      Specified by:
      forEachRemaining in interface Iterator<E>