Class ListIteratorWrapper<E>
- java.lang.Object
-
- org.apache.openjpa.lib.util.collections.ListIteratorWrapper<E>
-
- All Implemented Interfaces:
Iterator<E>,ListIterator<E>,OrderedIterator<E>,ResettableIterator<E>,ResettableListIterator<E>
public class ListIteratorWrapper<E> extends Object implements ResettableListIterator<E>
Converts anIteratorinto aResettableListIterator. For plainIterators this is accomplished by caching the returned elements. This class can also be used to simply addResettableIteratorfunctionality to a givenListIterator.The
ListIteratorinterface has additional useful methods for navigation -previous()and the index methods. This class allows a regularIteratorto behave as aListIterator. It achieves this by building a list internally of as the underlying iterator is traversed.The optional operations of
ListIteratorare not supported for plainIterators.This class implements ResettableListIterator from Commons Collections 3.2.
- Since:
- 2.1
-
-
Constructor Summary
Constructors Constructor Description ListIteratorWrapper(Iterator<? extends E> iterator)Constructs a newListIteratorWrapperthat will wrap the given iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(E obj)booleanhasNext()Returns true if there are more elements in the iterator.booleanhasPrevious()Returns true if there are previous elements in the iterator.Enext()Returns the next element from the iterator.intnextIndex()Returns the index of the next element.Eprevious()Returns the previous element.intpreviousIndex()Returns the index of the previous element.voidremove()ThrowsUnsupportedOperationExceptionifprevious()has ever been called.voidreset()Resets this iterator back to the position at which the iterator was created.voidset(E obj)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
ListIteratorWrapper
public ListIteratorWrapper(Iterator<? extends E> iterator)
Constructs a newListIteratorWrapperthat will wrap the given iterator.- Parameters:
iterator- the iterator to wrap- Throws:
NullPointerException- if the iterator is null
-
-
Method Detail
-
add
public void add(E obj) throws UnsupportedOperationException
- Specified by:
addin interfaceListIterator<E>- Parameters:
obj- the object to add- Throws:
UnsupportedOperationException- if the underlying iterator is not of typeListIterator
-
hasNext
public boolean hasNext()
Returns true if there are more elements in the iterator.
-
hasPrevious
public boolean hasPrevious()
Returns true if there are previous elements in the iterator.- Specified by:
hasPreviousin interfaceListIterator<E>- Specified by:
hasPreviousin interfaceOrderedIterator<E>- Returns:
- true if there are previous elements
-
next
public E next() throws NoSuchElementException
Returns the next element from the iterator.- Specified by:
nextin interfaceIterator<E>- Specified by:
nextin interfaceListIterator<E>- Returns:
- the next element from the iterator
- Throws:
NoSuchElementException- if there are no more elements
-
nextIndex
public int nextIndex()
Returns the index of the next element.- Specified by:
nextIndexin interfaceListIterator<E>- Returns:
- the index of the next element
-
previous
public E previous() throws NoSuchElementException
Returns the previous element.- Specified by:
previousin interfaceListIterator<E>- Specified by:
previousin interfaceOrderedIterator<E>- Returns:
- the previous element
- Throws:
NoSuchElementException- if there are no previous elements
-
previousIndex
public int previousIndex()
Returns the index of the previous element.- Specified by:
previousIndexin interfaceListIterator<E>- Returns:
- the index of the previous element
-
remove
public void remove() throws UnsupportedOperationExceptionThrowsUnsupportedOperationExceptionifprevious()has ever been called.- Specified by:
removein interfaceIterator<E>- Specified by:
removein interfaceListIterator<E>- Throws:
UnsupportedOperationException- always
-
set
public void set(E obj) throws UnsupportedOperationException
- Specified by:
setin interfaceListIterator<E>- Parameters:
obj- the object to set- Throws:
UnsupportedOperationException- if the underlying iterator is not of typeListIterator
-
reset
public void reset()
Resets this iterator back to the position at which the iterator was created.- Specified by:
resetin interfaceResettableIterator<E>- Since:
- 3.2
-
-