Class CursorableLinkedList.Cursor<E>
java.lang.Object
org.apache.commons.collections4.list.AbstractLinkedList.LinkedListIterator<E>
org.apache.commons.collections4.list.CursorableLinkedList.Cursor<E>
- Type Parameters:
E- the type of elements in this cursor.
- All Implemented Interfaces:
Iterator<E>,ListIterator<E>,OrderedIterator<E>
- Direct Known Subclasses:
CursorableLinkedList.SubCursor
- Enclosing class:
CursorableLinkedList<E>
An extended
ListIterator that allows concurrent changes to
the underlying list.- Since:
- 1.0
-
Field Summary
Fields inherited from class org.apache.commons.collections4.list.AbstractLinkedList.LinkedListIterator
current, expectedModCount, next, nextIndex, parent -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCursor(CursorableLinkedList<E> parent, int index) Constructs a new cursor. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds an object to the list.protected voidOverride superclass modCount check, and replace it with our valid flag.voidclose()Mark this cursor as no longer being needed.intGets the index of the next element to be returned.protected voidnodeChanged(AbstractLinkedList.Node<E> node) Handle event from the list when a node has changed.protected voidnodeInserted(AbstractLinkedList.Node<E> node) Handle event from the list when a node has been added.protected voidnodeRemoved(AbstractLinkedList.Node<E> 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.collections4.list.AbstractLinkedList.LinkedListIterator
getLastNodeReturned, hasNext, hasPrevious, next, previous, previousIndex, setMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
Cursor
Constructs a new cursor.- Parameters:
parent- the parent listindex- the index to start from
-
-
Method Details
-
add
Adds an object to the list. The object added here will be the new 'previous' in the iterator.- Specified by:
addin interfaceListIterator<E>- Overrides:
addin classAbstractLinkedList.LinkedListIterator<E>- Parameters:
obj- the object to add
-
checkModCount
Override superclass modCount check, and replace it with our valid flag.- Overrides:
checkModCountin classAbstractLinkedList.LinkedListIterator<E>
-
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
Gets the index of the next element to be returned.- Specified by:
nextIndexin interfaceListIterator<E>- Overrides:
nextIndexin classAbstractLinkedList.LinkedListIterator<E>- Returns:
- the next index
-
nodeChanged
Handle event from the list when a node has changed.- Parameters:
node- the node that changed
-
nodeInserted
Handle event from the list when a node has been added.- Parameters:
node- the node that was added
-
nodeRemoved
Handle event from the list when a node has been removed.- Parameters:
node- the node that was removed
-
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 interfaceIterator<E>- Specified by:
removein interfaceListIterator<E>- Overrides:
removein classAbstractLinkedList.LinkedListIterator<E>- Throws:
IllegalStateException- if there is no item to remove
-