Class LazyIteratorChain<T>

java.lang.Object
org.apache.jackrabbit.commons.iterator.LazyIteratorChain<T>
Type Parameters:
T - type of values iterating over
All Implemented Interfaces:
Iterator<T>

public class LazyIteratorChain<T> extends Object implements Iterator<T>
This class implements the concatenation of iterators. The implementation is lazy in the sense that advancing of any iterator is deferred as much as possible. Specifically no iterator is fully unwrapped at one single point of time.
  • Constructor Details

    • LazyIteratorChain

      public LazyIteratorChain(Iterator<Iterator<T>> iterators)
    • LazyIteratorChain

      public LazyIteratorChain(Iterator<T>... iterators)
  • Method Details

    • chain

      public static <T> Iterator<T> chain(Iterator<Iterator<T>> iterators)
      Returns the concatenation of all iterators in iterators.
      Type Parameters:
      T -
      Parameters:
      iterators -
      Returns:
    • chain

      public static <T> Iterator<T> chain(Iterator<T>... iterators)
      Returns the concatenation of all iterators in iterators.
      Type Parameters:
      T -
      Parameters:
      iterators -
      Returns:
    • hasNext

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

      public T next()
      Specified by:
      next in interface Iterator<T>
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<T>