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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Object
    The objects to iterate over.
    private int
    The current position and size in the array.
    private final int
    The size of the array.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new iterator instance for the specified array.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Check to see if there is another element in the array.
    Move to next element in the array.
    void
    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

    Methods inherited from interface java.util.Iterator

    forEachRemaining
  • Field Details

    • array

      private final Object array
      The objects to iterate over.
    • size

      private final int size
      The size of the array.
    • pos

      private int pos
      The current position and size in the array.
  • Constructor Details

    • 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 Details

    • 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>