org.apache.commons.collections.list

Class CursorableLinkedList.Cursor

Enclosing Class:
CursorableLinkedList
Implemented Interfaces:
Iterator, ListIterator, OrderedIterator

public static class CursorableLinkedList.Cursor
extends AbstractLinkedList.LinkedListIterator

An extended ListIterator that allows concurrent changes to the underlying list.

Field Summary

Fields inherited from class org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator

current, expectedModCount, next, nextIndex, parent

Constructor Summary

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

Method Summary

void
add(Object obj)
Adds an object to the list.
protected void
checkModCount()
Override superclass modCount check, and replace it with our valid flag.
void
close()
Mark this cursor as no longer being needed.
int
nextIndex()
Gets the index of the next element to be returned.
protected void
nodeChanged(AbstractLinkedList.Node node)
Handle event from the list when a node has changed.
protected void
nodeInserted(AbstractLinkedList.Node node)
Handle event from the list when a node has been added.
protected void
nodeRemoved(AbstractLinkedList.Node node)
Handle event from the list when a node has been removed.

Methods inherited from class org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator

add, checkModCount, getLastNodeReturned, hasNext, hasPrevious, next, nextIndex, previous, previousIndex, remove, set

Constructor Details

Cursor

protected Cursor(CursorableLinkedList parent,
                 int index)
Constructs a new cursor.
Parameters:
index - the index to start from

Method Details

add

public void add(Object obj)
Adds an object to the list. The object added here will be the new 'previous' in the iterator.
Overrides:
add in interface AbstractLinkedList.LinkedListIterator
Parameters:
obj - the object to add

checkModCount

protected void checkModCount()
Override superclass modCount check, and replace it with our valid flag.
Overrides:
checkModCount in interface AbstractLinkedList.LinkedListIterator

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.
Overrides:
nextIndex in interface AbstractLinkedList.LinkedListIterator
Returns:
the next index

nodeChanged

protected void nodeChanged(AbstractLinkedList.Node node)
Handle event from the list when a node has changed.
Parameters:
node - the node that changed

nodeInserted

protected void nodeInserted(AbstractLinkedList.Node node)
Handle event from the list when a node has been added.
Parameters:
node - the node that was added

nodeRemoved

protected void nodeRemoved(AbstractLinkedList.Node node)
Handle event from the list when a node has been removed.
Parameters:
node - the node that was removed

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