Class ReadAheadIterator<T>

java.lang.Object
com.sun.javatest.util.ReadAheadIterator<T>
All Implemented Interfaces:
Iterator<T>

public class ReadAheadIterator<T> extends Object implements Iterator<T>
An iterator that can read ahead of the current position, either for performance reasons or to help find out the number of items returned by an iterator before accessing them.
  • Field Details

  • Constructor Details

    • ReadAheadIterator

      public ReadAheadIterator(Iterator<T> source, int mode)
      Create a ReadAheadIterator.
      Parameters:
      source - The iterator from which to read ahead
      mode - A value indicating the type of read ahead required.
      See Also:
    • ReadAheadIterator

      public ReadAheadIterator(Iterator<T> source, int mode, int amount)
      Create a ReadAheadIterator.
      Parameters:
      source - The iterator from which to read ahead.
      mode - A value indicating the type of read ahead required.
      amount - A value indicating the amount of read ahead required, if the mode is set to LIMITED. If the mode is NON or FULL, this parameter will be ignored.
      See Also:
  • Method Details

    • isReadAheadComplete

      public boolean isReadAheadComplete()
      Check if all available items from the underlying source iterator have been read.
      Returns:
      true if all available items from the underlying source iterator have been read.
    • getItemsFoundCount

      public int getItemsFoundCount()
      Get the number of items read (so far) from the underlying source iterator. If the read ahead has not yet completed, this will be a partial count of the total set of items available to be read. If the read ahead is complete, the value will be the total number of items returned from the underlying source iterator.
      Returns:
      the number of items (so far) from the underlying source iterator.
      See Also:
    • isSourceExhausted

      @Deprecated public boolean isSourceExhausted()
      Deprecated.
      Use hasNext().
      Are there items that have not be read-ahead yet?
      Returns:
      True if the source has no more elements, false otherwise.
    • getUsedElementCount

      @Deprecated public int getUsedElementCount()
      Deprecated.
      Will not be supported in the future.
      How many elements have been distributed through getNext().
      Returns:
      number of used elements, greater-than or equal-to zero
      See Also:
    • getOutputQueueSize

      @Deprecated public int getOutputQueueSize()
      Deprecated.
      Will not be supported in the future.
      Number of items have been read-ahead by not distributed.
      Returns:
      number of items ready to be distributed, greater-than or equal-to zero
    • 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>
      Throws:
      UnsupportedOperationException