Package org.apache.velocity.util

# Class ArrayIterator

java.lang.Object
org.apache.velocity.util.ArrayIterator

All Implemented Interfaces:
  `Iterator`

public class ArrayIterator extends Object implements Iterator

An Iterator wrapper for an Object[]. This will allow us to deal with all array like structures in a consistent manner.

WARNING : this class's operations are NOT synchronized. It is meant to be used in a single thread, newly created for each use in the #foreach() directive. If this is used or shared, synchronize in the next() method.

Version:
  $Id$
Author:
  Jason van Zyl, Geir Magnusson Jr.

## Constructor Summary

Constructors
Constructor
Description
`ArrayIterator(Object array)`
Creates a new iterator instance for the specified array.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
Check to see if there is another element in the array.
`Object`
`next()`
Move to next element in the array.
`void`
`remove()`
No op--merely added to satisfy the `Iterator` interface.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

## Constructor Details

### ArrayIterator

public ArrayIterator(Object array)
Creates a new iterator instance for the specified array.

Parameters:
  `array` - The array for which an iterator is desired.

## Method Details

### next

public Object next()
Move to next element in the array.

Specified by:
  `next` in interface `Iterator`
Returns:
  The next object in the array.

### hasNext

public boolean hasNext()
Check to see if there is another element in the array.

Specified by:
  `hasNext` in interface `Iterator`
Returns:
  Whether there is another element.

### remove

public void remove()
No op--merely added to satisfy the `Iterator` interface.

Specified by:
  `remove` in interface `Iterator`