org.omnaest.utils.structure.iterator
Class ChainedListIterator<E>

java.lang.Object
  extended by org.omnaest.utils.structure.iterator.ChainedListIterator<E>
Type Parameters:
E -
All Implemented Interfaces:
Iterator<E>, ListIterator<E>

public class ChainedListIterator<E>
extends Object
implements ListIterator<E>

A ListIterator which is based on a chain of other ListIterator instances. All ListIterators are traversed in their order.

The hasNext() will be true as long as at least one remaining ListIterator instance returns true for its ListIterator.hasNext() function.

Author:
Omnaest
See Also:
ListIterator, ChainedIterator

Field Summary
protected  ListIteratorDecoratorSwitchable<E> listIteratorDecoratorSwitchable
           
 
Constructor Summary
ChainedListIterator(List<E>... lists)
           
ChainedListIterator(ListIterator<E>... iterators)
           
 
Method Summary
 void add(E e)
           
 boolean hasNext()
           
 boolean hasPrevious()
           
 E next()
           
 int nextIndex()
           
 E previous()
           
 int previousIndex()
           
 void remove()
           
 void set(E e)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listIteratorDecoratorSwitchable

protected final ListIteratorDecoratorSwitchable<E> listIteratorDecoratorSwitchable
Constructor Detail

ChainedListIterator

public ChainedListIterator(ListIterator<E>... iterators)
Parameters:
iterators - Iterator
See Also:
ChainedListIterator

ChainedListIterator

public ChainedListIterator(List<E>... lists)
Parameters:
lists - List
See Also:
ChainedListIterator
Method Detail

hasNext

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

next

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

remove

public void remove()
Specified by:
remove in interface Iterator<E>
Specified by:
remove in interface ListIterator<E>

hasPrevious

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

previous

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

nextIndex

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

previousIndex

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

set

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

add

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


Copyright © 2013. All Rights Reserved.