org.apache.commons.collections.iterators

Class ObjectArrayIterator

public class ObjectArrayIterator extends Object implements Iterator, ResettableIterator

An Iterator over an array of objects.

This iterator does not support ObjectArrayIterator, as the object array cannot be structurally modified.

The iterator implements a ObjectArrayIterator 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: James Strachan Mauricio S. Moura Michael A. Smith Neil O'Toole Stephen Colebourne Phil Steitz

Field Summary
protected Object[]array
The array
protected intendIndex
The end index to loop to
protected intindex
The current iterator index
protected intstartIndex
The start index to loop from
Constructor Summary
ObjectArrayIterator()
Constructor for use with setArray.
ObjectArrayIterator(Object[] array)
Constructs an ObjectArrayIterator that will iterate over the values in the specified array.
ObjectArrayIterator(Object[] array, int start)
Constructs an ObjectArrayIterator that will iterate over the values in the specified array from a specific start index.
ObjectArrayIterator(Object[] array, int start, int end)
Construct an ObjectArrayIterator that will iterate over a range of values in the specified array.
Method Summary
Object[]getArray()
Gets the array that this iterator is iterating over.
intgetEndIndex()
Gets the end index to loop to.
intgetStartIndex()
Gets the start index to loop from.
booleanhasNext()
Returns true if there are more elements to return from the array.
Objectnext()
Returns the next element in the array.
voidremove()
Throws UnsupportedOperationException.
voidreset()
Resets the iterator back to the start index.
voidsetArray(Object[] array)
Sets the array that the ArrayIterator should iterate over.

Field Detail

array

protected Object[] array
The array

endIndex

protected int endIndex
The end index to loop to

index

protected int index
The current iterator index

startIndex

protected int startIndex
The start index to loop from

Constructor Detail

ObjectArrayIterator

public ObjectArrayIterator()
Constructor for use with setArray.

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

ObjectArrayIterator

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

Parameters: array the array to iterate over

Throws: NullPointerException if array is null

ObjectArrayIterator

public ObjectArrayIterator(Object[] array, int start)
Constructs an ObjectArrayIterator 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

ObjectArrayIterator

public ObjectArrayIterator(Object[] array, int start, int end)
Construct an ObjectArrayIterator 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

getArray

public Object[] getArray()
Gets the array that this iterator is iterating over.

Returns: the array this iterator iterates over, or null if the no-arg constructor was used and ObjectArrayIterator has never been called with a valid array.

getEndIndex

public int getEndIndex()
Gets the end index to loop to.

Returns: the end index

getStartIndex

public int getStartIndex()
Gets the start index to loop from.

Returns: the start index

hasNext

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

Returns: true if there is a next element to return

next

public Object next()
Returns the next element in the array.

Returns: the next element in the array

Throws: NoSuchElementException if all the elements in the array have already been returned

remove

public void remove()
Throws UnsupportedOperationException.

Throws: UnsupportedOperationException always

reset

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

setArray

public void setArray(Object[] array)
Sets the array that the ArrayIterator should iterate over.

This method may only be called once, otherwise an IllegalStateException will occur.

The ObjectArrayIterator method can be used to reset the iterator if required.

Parameters: array the array that the iterator should iterate over

Throws: IllegalStateException if the array was set in the constructor NullPointerException if array is null

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