org.apache.commons.collections.list
Class AbstractLinkedList.LinkedListIterator

java.lang.Object
  extended by org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator
All Implemented Interfaces:
java.util.Iterator, java.util.ListIterator, OrderedIterator
Direct Known Subclasses:
AbstractLinkedList.LinkedSubListIterator, CursorableLinkedList.Cursor
Enclosing class:
AbstractLinkedList

protected static class AbstractLinkedList.LinkedListIterator
extends java.lang.Object
implements java.util.ListIterator, OrderedIterator

A list iterator over the linked list.


Field Summary
protected  AbstractLinkedList.Node current
          The last node that was returned by next() or previous().
protected  int expectedModCount
          The modification count that the list is expected to have.
protected  AbstractLinkedList.Node next
          The node that will be returned by next().
protected  int nextIndex
          The index of next.
protected  AbstractLinkedList parent
          The parent list
 
Constructor Summary
protected AbstractLinkedList.LinkedListIterator(AbstractLinkedList parent, int fromIndex)
          Create a ListIterator for a list.
 
Method Summary
 void add(java.lang.Object obj)
           
protected  void checkModCount()
          Checks the modification count of the list is the value that this object expects.
protected  AbstractLinkedList.Node getLastNodeReturned()
          Gets the last node returned.
 boolean hasNext()
           
 boolean hasPrevious()
          Checks to see if there is a previous element that can be iterated to.
 java.lang.Object next()
           
 int nextIndex()
           
 java.lang.Object previous()
          Gets the previous element from the collection.
 int previousIndex()
           
 void remove()
           
 void set(java.lang.Object obj)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected final AbstractLinkedList parent
The parent list


next

protected AbstractLinkedList.Node next
The node that will be returned by next(). If this is equal to AbstractLinkedList.header then there are no more values to return.


nextIndex

protected int nextIndex
The index of next.


current

protected AbstractLinkedList.Node current
The last node that was returned by next() or previous(). Set to null if next() or previous() haven't been called, or if the node has been removed with remove() or a new node added with add(Object). Should be accessed through getLastNodeReturned() to enforce this behaviour.


expectedModCount

protected int expectedModCount
The modification count that the list is expected to have. If the list doesn't have this count, then a ConcurrentModificationException may be thrown by the operations.

Constructor Detail

AbstractLinkedList.LinkedListIterator

protected AbstractLinkedList.LinkedListIterator(AbstractLinkedList parent,
                                                int fromIndex)
                                         throws java.lang.IndexOutOfBoundsException
Create a ListIterator for a list.

Parameters:
parent - the parent list
fromIndex - the index to start at
Throws:
java.lang.IndexOutOfBoundsException
Method Detail

checkModCount

protected void checkModCount()
Checks the modification count of the list is the value that this object expects.

Throws:
java.util.ConcurrentModificationException - If the list's modification count isn't the value that was expected.

getLastNodeReturned

protected AbstractLinkedList.Node getLastNodeReturned()
                                               throws java.lang.IllegalStateException
Gets the last node returned.

Throws:
java.lang.IllegalStateException - If next() or previous() haven't been called, or if the node has been removed with remove() or a new node added with add(Object).

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator
Specified by:
hasNext in interface java.util.ListIterator

next

public java.lang.Object next()
Specified by:
next in interface java.util.Iterator
Specified by:
next in interface java.util.ListIterator

hasPrevious

public boolean hasPrevious()
Description copied from interface: OrderedIterator
Checks to see if there is a previous element that can be iterated to.

Specified by:
hasPrevious in interface java.util.ListIterator
Specified by:
hasPrevious in interface OrderedIterator
Returns:
true if the iterator has a previous element

previous

public java.lang.Object previous()
Description copied from interface: OrderedIterator
Gets the previous element from the collection.

Specified by:
previous in interface java.util.ListIterator
Specified by:
previous in interface OrderedIterator
Returns:
the previous element in the iteration

nextIndex

public int nextIndex()
Specified by:
nextIndex in interface java.util.ListIterator

previousIndex

public int previousIndex()
Specified by:
previousIndex in interface java.util.ListIterator

remove

public void remove()
Specified by:
remove in interface java.util.Iterator
Specified by:
remove in interface java.util.ListIterator

set

public void set(java.lang.Object obj)
Specified by:
set in interface java.util.ListIterator

add

public void add(java.lang.Object obj)
Specified by:
add in interface java.util.ListIterator


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