com.google.common.collect
Class ForwardingListIterator<E>

java.lang.Object
  extended by com.google.common.collect.ForwardingIterator<E>
      extended by com.google.common.collect.ForwardingListIterator<E>
All Implemented Interfaces:
Iterator<E>, ListIterator<E>

public abstract class ForwardingListIterator<E>
extends ForwardingIterator<E>
implements ListIterator<E>

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

Author:
Mike Bostock
See Also:
ForwardingObject

Constructor Summary
protected ForwardingListIterator(ListIterator<E> delegate)
          Constructs a forwarding list iterator that forwards to the provided delegate.
 
Method Summary
 void add(E element)
           
protected  ListIterator<E> delegate()
          Returns the backing delegate object.
 boolean hasPrevious()
           
 int nextIndex()
           
 E previous()
           
 int previousIndex()
           
 void set(E element)
           
 String toString()
          Returns the string representation generated by the delegate's toString method.
 
Methods inherited from class com.google.common.collect.ForwardingIterator
hasNext, next, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.ListIterator
hasNext, next, remove
 

Constructor Detail

ForwardingListIterator

protected ForwardingListIterator(ListIterator<E> delegate)
Constructs a forwarding list iterator that forwards to the provided delegate.

Method Detail

delegate

protected ListIterator<E> delegate()
Returns the backing delegate object. This method should be overridden to specify the correct return type. For example:
  @SuppressWarnings("unchecked")
  @Override protected Foo delegate() {
    return (Foo) super.delegate();
  }
This method should always return the same delegate instance that was passed to the constructor.

Overrides:
delegate in class ForwardingIterator<E>

add

public void add(E element)
Specified by:
add in interface ListIterator<E>

hasPrevious

public boolean hasPrevious()
Specified by:
hasPrevious in interface ListIterator<E>

nextIndex

public int nextIndex()
Specified by:
nextIndex in interface ListIterator<E>

previous

public E previous()
Specified by:
previous in interface ListIterator<E>

previousIndex

public int previousIndex()
Specified by:
previousIndex in interface ListIterator<E>

set

public void set(E element)
Specified by:
set in interface ListIterator<E>

toString

public String toString()
Returns the string representation generated by the delegate's toString method.

Overrides:
toString in class Object