Class TransformingIteratorWrapper<Original, Transformed>

java.lang.Object
org.archive.util.iterator.LookaheadIterator<Transformed>
org.archive.util.iterator.TransformingIteratorWrapper<Original, Transformed>
All Implemented Interfaces:
Iterator<Transformed>
Direct Known Subclasses:
RegexLineIterator

public abstract class TransformingIteratorWrapper<Original, Transformed> extends LookaheadIterator<Transformed>
Superclass for Iterators which transform and/or filter results from a wrapped Iterator. Because transform() has the option of discarding an item from the inner Iterator (by returning null), this is a kind of LookaheadIterator.
Author:
gojomo
  • Field Details

  • Constructor Details

    • TransformingIteratorWrapper

      public TransformingIteratorWrapper()
  • Method Details

    • lookahead

      protected boolean lookahead()
      Description copied from class: LookaheadIterator
      Caches the next item if available.
      Specified by:
      lookahead in class LookaheadIterator<Transformed>
      Returns:
      true if there was a next item to cache, false otherwise
    • noteExhausted

      protected void noteExhausted()
      Any cleanup to occur when hasNext() is about to return false
    • transform

      protected abstract Transformed transform(Original object)
      Parameters:
      object - Object to transform.
      Returns:
      Transfomed object.