polyglot.util
Class TransformingIterator

java.lang.Object
  extended by polyglot.util.TransformingIterator
All Implemented Interfaces:
java.util.Iterator

public final class TransformingIterator
extends java.lang.Object
implements java.util.Iterator

TransformingIterator Overview: This is a swiss-army-knife of iterators. It concatenates, maps, and filters. Does not support Remove.


Field Summary
protected  java.util.Iterator[] backing_iterators
           
protected  java.util.Iterator current_iter
           
protected  int index
           
protected  java.lang.Object next_item
           
protected  Transformation transformation
           
 
Constructor Summary
TransformingIterator(java.util.Collection iters, Transformation trans)
           
TransformingIterator(java.util.Iterator[] iters, Transformation trans)
           
TransformingIterator(java.util.Iterator iter, Transformation trans)
           
 
Method Summary
 boolean hasNext()
           
 java.lang.Object next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

next_item

protected java.lang.Object next_item

current_iter

protected java.util.Iterator current_iter

index

protected int index

backing_iterators

protected java.util.Iterator[] backing_iterators

transformation

protected Transformation transformation
Constructor Detail

TransformingIterator

public TransformingIterator(java.util.Iterator iter,
                            Transformation trans)

TransformingIterator

public TransformingIterator(java.util.Collection iters,
                            Transformation trans)

TransformingIterator

public TransformingIterator(java.util.Iterator[] iters,
                            Transformation trans)
Method Detail

next

public java.lang.Object next()
Specified by:
next in interface java.util.Iterator

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator

remove

public void remove()
Specified by:
remove in interface java.util.Iterator