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

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