org.apache.commons.jexl3.internal.introspection

## Class ArrayIterator

- java.lang.Object
- - org.apache.commons.jexl3.internal.introspection.ArrayIterator

- All Implemented Interfaces:
    Iterator<Object>

      public class ArrayIterator
      extends Object
      implements Iterator<Object>

  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.

  Since:
    1.0

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 satify the `Iterator` interface.

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

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

- - ### Constructor Detail

    - #### ArrayIterator

          public ArrayIterator(Object arr)

      Creates a new iterator instance for the specified array.
      Parameters:
        `arr` - The array for which an iterator is desired.

  - ### Method Detail

    - #### next

          public Object next()

      Move to next element in the array.
      Specified by:
        `next` in interface `Iterator<Object>`
      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<Object>`
      Returns:
        Whether there is another element.

    - #### remove

          public void remove()

      No op--merely added to satify the `Iterator` interface.
      Specified by:
        `remove` in interface `Iterator<Object>`

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.