org.apache.commons.collections.iterators

Class ObjectArrayListIterator

Implemented Interfaces:
Iterator, ListIterator, ResettableIterator, ResettableListIterator

public class ObjectArrayListIterator
extends ObjectArrayIterator
implements ListIterator, ResettableListIterator

Implements a ListIterator over an array of objects.

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

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

Version:
$Revision: 1.13 $ $Date: 2004/02/18 00:59:50 $

Authors:
Neil O'Toole
Stephen Colebourne
Phil Steitz

Since:
Commons Collections 3.0

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

Field Summary

protected int
lastItemIndex
Holds the index of the last item returned by a call to next() or previous().

Fields inherited from class org.apache.commons.collections.iterators.ObjectArrayIterator

array, endIndex, index, startIndex

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

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.
boolean
hasPrevious()
Returns true if there are previous elements to return from the array.
Object
next()
Gets the next element from the array.
int
nextIndex()
Gets the next index to be retrieved.
Object
previous()
Gets the previous element from the array.
int
previousIndex()
Gets the index of the item to be retrieved if previous() is called.
void
reset()
Resets the iterator back to the start index.
void
set(Object obj)
Sets the element under the cursor.

Methods inherited from class org.apache.commons.collections.iterators.ObjectArrayIterator

getArray, getEndIndex, getStartIndex, hasNext, next, remove, reset, setArray

Field Details

lastItemIndex

protected int lastItemIndex

Constructor Details

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


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


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

Method Details

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


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.
Overrides:
next in interface ObjectArrayIterator

Returns:
the 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


previousIndex

public int previousIndex()

Returns:
the index of the item to be retrieved next


reset

public void reset()
Resets the iterator back to the start index.
Specified by:
reset in interface ResettableListIterator
reset in interface ResettableIterator
Overrides:
reset in interface ObjectArrayIterator


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


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