Class CursorableLinkedList.Cursor
- java.lang.Object
-
- org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator
-
- org.apache.commons.collections.list.CursorableLinkedList.Cursor
-
- All Implemented Interfaces:
java.util.Iterator,java.util.ListIterator,OrderedIterator
- Direct Known Subclasses:
CursorableLinkedList.SubCursor
- Enclosing class:
- CursorableLinkedList
public static class CursorableLinkedList.Cursor extends AbstractLinkedList.LinkedListIterator
An extendedListIteratorthat 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
Constructors Modifier Constructor Description protectedCursor(CursorableLinkedList parent, int index)Constructs a new cursor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.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(AbstractLinkedList.Node node)Handle event from the list when a node has changed.protected voidnodeInserted(AbstractLinkedList.Node node)Handle event from the list when a node has been added.protected voidnodeRemoved(AbstractLinkedList.Node node)Handle event from the list when a node has been removed.voidremove()Removes the item last returned by this iterator.-
Methods inherited from class org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator
getLastNodeReturned, hasNext, hasPrevious, next, previous, previousIndex, set
-
-
-
-
Constructor Detail
-
Cursor
protected Cursor(CursorableLinkedList parent, int index)
Constructs a new cursor.- Parameters:
index- the index to start from
-
-
Method Detail
-
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().
- Specified by:
removein interfacejava.util.Iterator- Specified by:
removein interfacejava.util.ListIterator- Overrides:
removein classAbstractLinkedList.LinkedListIterator- Throws:
java.lang.IllegalStateException- if there is no item to remove
-
add
public void add(java.lang.Object obj)
Adds an object to the list. The object added here will be the new 'previous' in the iterator.- Specified by:
addin interfacejava.util.ListIterator- Overrides:
addin classAbstractLinkedList.LinkedListIterator- Parameters:
obj- the object to add
-
nextIndex
public int nextIndex()
Gets the index of the next element to be returned.- Specified by:
nextIndexin interfacejava.util.ListIterator- Overrides:
nextIndexin classAbstractLinkedList.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
-
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
-
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
-
checkModCount
protected void checkModCount()
Override superclass modCount check, and replace it with our valid flag.- Overrides:
checkModCountin classAbstractLinkedList.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.
-
-