org.apache.commons.collections.iterators

Class ObjectArrayListIterator

public class ObjectArrayListIterator extends ObjectArrayIterator implements ListIterator, ResettableListIterator

Implements a ListIterator over an array of objects.

This iterator does not support ObjectArrayListIterator or ObjectArrayListIterator, as the object array cannot be structurally modified. The ObjectArrayListIterator method is supported however.

The iterator implements a ObjectArrayListIterator method, allowing the reset of the iterator back to the start if required.

Since: Commons Collections 3.0

Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $

Author: Neil O'Toole Stephen Colebourne Phil Steitz

See Also: ObjectArrayIterator java.util.Iterator java.util.ListIterator

Field Summary
protected intlastItemIndex
Holds the index of the last item returned by a call to next() or previous().
Constructor Summary
ObjectArrayListIterator()
Constructor for use with setArray.
ObjectArrayListIterator(Object[] array)
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array.
ObjectArrayListIterator(Object[] array, int start)
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array from a specific start index.
ObjectArrayListIterator(Object[] array, int start, int end)
Construct an ObjectArrayListIterator that will iterate over a range of values in the specified array.
Method Summary
voidadd(Object obj)
This iterator does not support modification of its backing array's size, and so will always throw an UnsupportedOperationException when this method is invoked.
booleanhasPrevious()
Returns true if there are previous elements to return from the array.
Objectnext()
Gets the next element from the array.
intnextIndex()
Gets the next index to be retrieved.
Objectprevious()
Gets the previous element from the array.
intpreviousIndex()
Gets the index of the item to be retrieved if previous is called.
voidreset()
Resets the iterator back to the start index.
voidset(Object obj)
Sets the element under the cursor.

Field Detail

lastItemIndex

protected int lastItemIndex
Holds the index of the last item returned by a call to next() or previous(). This is set to -1 if neither method has yet been invoked. lastItemIndex is used to to implement the ObjectArrayListIterator method.

Constructor Detail

ObjectArrayListIterator

public ObjectArrayListIterator()
Constructor for use with setArray.

Using this constructor, the iterator is equivalent to an empty iterator until ObjectArrayListIterator is called to establish the array to iterate over.

ObjectArrayListIterator

public ObjectArrayListIterator(Object[] array)
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array.

Parameters: array the array to iterate over

Throws: NullPointerException if array is null

ObjectArrayListIterator

public ObjectArrayListIterator(Object[] array, int start)
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array from a specific start index.

Parameters: array the array to iterate over start the index to start iterating at

Throws: NullPointerException if array is null IndexOutOfBoundsException if the start index is out of bounds

ObjectArrayListIterator

public ObjectArrayListIterator(Object[] array, int start, int end)
Construct an ObjectArrayListIterator that will iterate over a range of values in the specified array.

Parameters: array the array to iterate over start the index to start iterating at end the index (exclusive) to finish iterating at

Throws: IndexOutOfBoundsException if the start or end index is out of bounds IllegalArgumentException if end index is before the start NullPointerException if array is null

Method Detail

add

public void add(Object obj)
This iterator does not support modification of its backing array's size, and so will always throw an UnsupportedOperationException when this method is invoked.

Parameters: obj the object to add

Throws: UnsupportedOperationException always thrown.

hasPrevious

public boolean hasPrevious()
Returns true if there are previous elements to return from the array.

Returns: true if there is a previous element to return

next

public Object next()
Gets the next element from the array.

Returns: the next element

Throws: NoSuchElementException if there is no next element

nextIndex

public int nextIndex()
Gets the next index to be retrieved.

Returns: the index of the item to be retrieved next

previous

public Object previous()
Gets the previous element from the array.

Returns: the previous element

Throws: NoSuchElementException if there is no previous element

previousIndex

public int previousIndex()
Gets the index of the item to be retrieved if previous is called.

Returns: the index of the item to be retrieved next

reset

public void reset()
Resets the iterator back to the start index.

set

public void set(Object obj)
Sets the element under the cursor.

This method sets the element that was returned by the last call to next of previous. Note: ListIterator implementations that support add() and remove() only allow set() to be called once per call to next() or previous (see the ListIterator javadoc for more details). Since this implementation does not support add() or remove(), set() may be called as often as desired.

Parameters: obj the object to set into the array

Throws: IllegalStateException if next() has not yet been called. ClassCastException if the object type is unsuitable for the array

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