org.apache.commons.collections.list

Class CursorableLinkedList.Cursor

public static class CursorableLinkedList.Cursor extends AbstractLinkedList.LinkedListIterator

An extended ListIterator that allows concurrent changes to the underlying list.
Constructor Summary
protected Cursor(CursorableLinkedList parent, int index)
Constructs a new cursor.
Method Summary
voidadd(Object obj)
Adds an object to the list.
protected voidcheckModCount()
Override superclass modCount check, and replace it with our valid flag.
voidclose()
Mark this cursor as no longer being needed.
intnextIndex()
Gets the index of the next element to be returned.
protected voidnodeChanged(Node node)
Handle event from the list when a node has changed.
protected voidnodeInserted(Node node)
Handle event from the list when a node has been added.
protected voidnodeRemoved(Node node)
Handle event from the list when a node has been removed.
voidremove()
Removes the item last returned by this iterator.

Constructor Detail

Cursor

protected Cursor(CursorableLinkedList parent, int index)
Constructs a new cursor.

Parameters: index the index to start from

Method Detail

add

public void add(Object obj)
Adds an object to the list. The object added here will be the new 'previous' in the iterator.

Parameters: obj the object to add

checkModCount

protected void checkModCount()
Override superclass modCount check, and replace it with our valid flag.

close

public void close()
Mark this cursor as no longer being needed. Any resources associated with this cursor are immediately released. In previous versions of this class, it was mandatory to close all cursor objects to avoid memory leaks. It is no longer necessary to call this close method; an instance of this class can now be treated exactly like a normal iterator.

nextIndex

public int nextIndex()
Gets the index of the next element to be returned.

Returns: the next index

nodeChanged

protected void nodeChanged(Node node)
Handle event from the list when a node has changed.

Parameters: node the node that changed

nodeInserted

protected void nodeInserted(Node node)
Handle event from the list when a node has been added.

Parameters: node the node that was added

nodeRemoved

protected void nodeRemoved(Node node)
Handle event from the list when a node has been removed.

Parameters: node the node that was removed

remove

public void remove()
Removes the item last returned by this iterator.

There may have been subsequent alterations to the list since you obtained this item, however you can still remove it. You can even remove it if the item is no longer in the main list. However, you can't call this method on the same iterator more than once without calling next() or previous().

Throws: IllegalStateException if there is no item to remove

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