org.elasticsearch.util.collect
Class ForwardingIterator<T>

java.lang.Object
  extended by org.elasticsearch.util.collect.ForwardingObject
      extended by org.elasticsearch.util.collect.ForwardingIterator<T>
All Implemented Interfaces:
java.util.Iterator<T>
Direct Known Subclasses:
ForwardingListIterator

public abstract class ForwardingIterator<T>
extends ForwardingObject
implements java.util.Iterator<T>

An iterator which forwards all its method calls to another iterator. Subclasses should override one or more methods to modify the behavior of the backing iterator as desired per the decorator pattern.

See Also:
ForwardingObject

Constructor Summary
ForwardingIterator()
           
 
Method Summary
protected abstract  java.util.Iterator<T> delegate()
          Returns the backing delegate instance that methods are forwarded to.
 boolean hasNext()
           
 T next()
           
 void remove()
           
 
Methods inherited from class org.elasticsearch.util.collect.ForwardingObject
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ForwardingIterator

public ForwardingIterator()
Method Detail

delegate

protected abstract java.util.Iterator<T> delegate()
Description copied from class: ForwardingObject
Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as ForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.

Specified by:
delegate in class ForwardingObject

hasNext

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

next

public T next()
Specified by:
next in interface java.util.Iterator<T>

remove

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