net.sf.collections15.list
Class AbstractLinkedList.LinkedListIterator<T>

java.lang.Object
  extended by net.sf.collections15.list.AbstractLinkedList.LinkedListIterator<T>
All Implemented Interfaces:
java.util.Iterator<T>, java.util.ListIterator<T>, OrderedIterator<T>
Direct Known Subclasses:
AbstractLinkedList.LinkedSubListIterator, CursorableLinkedList.Cursor
Enclosing class:
AbstractLinkedList<E>

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

A list iterator over the linked list.


Field Summary
protected  AbstractLinkedList.Node<T> 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<T> next
          The node that will be returned by next().
protected  int nextIndex
          The index of next.
protected  AbstractLinkedList<T> parent
          The parent list
 
Constructor Summary
protected AbstractLinkedList.LinkedListIterator(AbstractLinkedList<T> parent, int fromIndex)
          Create a ListIterator for a list.
 
Method Summary
 void add(T obj)
           
protected  void checkModCount()
          Checks the modification count of the list is the value that this object expects.
protected  AbstractLinkedList.Node<T> getLastNodeReturned()
          Gets the last node returned.
 boolean hasNext()
           
 boolean hasPrevious()
          Checks to see if there is a previous element that can be iterated to.
 T next()
           
 int nextIndex()
           
 T previous()
          Gets the previous element from the collection.
 int previousIndex()
           
 void remove()
           
 void set(T 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<T> parent
The parent list


next

protected AbstractLinkedList.Node<T> 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<T> 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<T> 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<T> 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<T>
Specified by:
hasNext in interface java.util.ListIterator<T>

next

public T next()
Specified by:
next in interface java.util.Iterator<T>
Specified by:
next in interface java.util.ListIterator<T>

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<T>
Specified by:
hasPrevious in interface OrderedIterator<T>
Returns:
true if the iterator has a previous element

previous

public T previous()
Description copied from interface: OrderedIterator
Gets the previous element from the collection.

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

nextIndex

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

previousIndex

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

remove

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

set

public void set(T obj)
Specified by:
set in interface java.util.ListIterator<T>

add

public void add(T obj)
Specified by:
add in interface java.util.ListIterator<T>


Copyright © 2001-2005 SourceForge.net. All Rights Reserved.