org.apache.commons.collections.iterators
Class ListIteratorWrapper

java.lang.Object
  extended by org.apache.commons.collections.iterators.ListIteratorWrapper
All Implemented Interfaces:
java.util.Iterator, java.util.ListIterator, ResettableIterator, ResettableListIterator

public class ListIteratorWrapper
extends java.lang.Object
implements ResettableListIterator

Converts an iterator into a list iterator by caching the returned entries.

The ListIterator interface has additional useful methods for navigation - previous() and the index methods. This class allows a regular Iterator to behave as a ListIterator. It achieves this by building a list internally of as the underlying iterator is traversed.

The optional operations of ListIterator are not supported.

This class implements ResettableListIterator from Commons Collections 3.2.

Since:
Commons Collections 2.1
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
Morgan Delagrange, Stephen Colebourne

Constructor Summary
ListIteratorWrapper(java.util.Iterator iterator)
          Constructs a new ListIteratorWrapper that will wrap the given iterator.
 
Method Summary
 void add(java.lang.Object obj)
          Throws UnsupportedOperationException.
 boolean hasNext()
          Returns true if there are more elements in the iterator.
 boolean hasPrevious()
          Returns true if there are previous elements in the iterator.
 java.lang.Object next()
          Returns the next element from the iterator.
 int nextIndex()
          Returns in the index of the next element.
 java.lang.Object previous()
          Returns the the previous element.
 int previousIndex()
          Returns the index of the previous element.
 void remove()
          Throws UnsupportedOperationException.
 void reset()
          Resets this iterator back to the position at which the iterator was created.
 void set(java.lang.Object obj)
          Throws UnsupportedOperationException.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListIteratorWrapper

public ListIteratorWrapper(java.util.Iterator iterator)
Constructs a new ListIteratorWrapper that will wrap the given iterator.

Parameters:
iterator - the iterator to wrap
Throws:
java.lang.NullPointerException - if the iterator is null
Method Detail

add

public void add(java.lang.Object obj)
         throws java.lang.UnsupportedOperationException
Throws UnsupportedOperationException.

Specified by:
add in interface java.util.ListIterator
Parameters:
obj - the object to add, ignored
Throws:
java.lang.UnsupportedOperationException - always

hasNext

public boolean hasNext()
Returns true if there are more elements in the iterator.

Specified by:
hasNext in interface java.util.Iterator
Specified by:
hasNext in interface java.util.ListIterator
Returns:
true if there are more elements

hasPrevious

public boolean hasPrevious()
Returns true if there are previous elements in the iterator.

Specified by:
hasPrevious in interface java.util.ListIterator
Returns:
true if there are previous elements

next

public java.lang.Object next()
                      throws java.util.NoSuchElementException
Returns the next element from the iterator.

Specified by:
next in interface java.util.Iterator
Specified by:
next in interface java.util.ListIterator
Returns:
the next element from the iterator
Throws:
java.util.NoSuchElementException - if there are no more elements

nextIndex

public int nextIndex()
Returns in the index of the next element.

Specified by:
nextIndex in interface java.util.ListIterator
Returns:
the index of the next element

previous

public java.lang.Object previous()
                          throws java.util.NoSuchElementException
Returns the the previous element.

Specified by:
previous in interface java.util.ListIterator
Returns:
the previous element
Throws:
java.util.NoSuchElementException - if there are no previous elements

previousIndex

public int previousIndex()
Returns the index of the previous element.

Specified by:
previousIndex in interface java.util.ListIterator
Returns:
the index of the previous element

remove

public void remove()
            throws java.lang.UnsupportedOperationException
Throws UnsupportedOperationException.

Specified by:
remove in interface java.util.Iterator
Specified by:
remove in interface java.util.ListIterator
Throws:
java.lang.UnsupportedOperationException - always

set

public void set(java.lang.Object obj)
         throws java.lang.UnsupportedOperationException
Throws UnsupportedOperationException.

Specified by:
set in interface java.util.ListIterator
Parameters:
obj - the object to set, ignored
Throws:
java.lang.UnsupportedOperationException - always

reset

public void reset()
Resets this iterator back to the position at which the iterator was created.

Specified by:
reset in interface ResettableIterator
Specified by:
reset in interface ResettableListIterator
Since:
Commons Collections 3.2


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.