Class AbstractTupleList.AbstractTupleListIterator

java.lang.Object
mondrian.calc.impl.AbstractTupleList.AbstractTupleListIterator
All Implemented Interfaces:
Iterator<List<Member>>, TupleCursor, TupleIterator
Enclosing class:
AbstractTupleList

protected class AbstractTupleList.AbstractTupleListIterator extends Object implements TupleIterator
Implementation of TupleIterator for ArrayTupleList. Based upon AbstractList.Itr, but with concurrent modification checking removed.
  • Constructor Details

    • AbstractTupleListIterator

      protected AbstractTupleListIterator()
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<List<Member>>
    • next

      public List<Member> next()
      Specified by:
      next in interface Iterator<List<Member>>
    • forward

      public boolean forward()
      Description copied from interface: TupleCursor
      Moves the iterator forward one position.

      Returns false only when end of data has been reached.

      Similar to calling the Iterator methods Iterator.hasNext() followed by Iterator.next() but does not construct an object, and is therefore cheaper.

      If you want to use an Iterator, see TupleIterator.

      Specified by:
      forward in interface TupleCursor
      Returns:
      Whether was able to move forward a position
    • current

      public List<Member> current()
      Description copied from interface: TupleCursor
      Returns the tuple that this cursor is positioned on.

      This method never returns null, and may safely be called multiple times (or not all) for each position in the iteration.

      Invalid to call this method when the cursor is has not been positioned, for example, if TupleCursor.forward() has not been called or if the most recent call to forward returned false.

      Specified by:
      current in interface TupleCursor
      Returns:
      Current tuple
    • currentToArray

      public void currentToArray(Member[] members, int offset)
      Description copied from interface: TupleCursor
      Writes the member(s) of the next tuple to a given offset in an array.

      This method saves the overhead of a memory allocation when the resulting tuple will be written immediately to an array. The effect of currentToArray(members, 0) is the same as calling current().toArray(members).

      Before calling this method, you must position the iterator at a valid position. Typically you would call hasNext followed by next; or forward.

      Specified by:
      currentToArray in interface TupleCursor
      Parameters:
      members - Members
      offset - Offset in the array to write to
    • getArity

      public int getArity()
      Description copied from interface: TupleCursor
      Returns the number of members in each tuple.
      Specified by:
      getArity in interface TupleCursor
      Returns:
      The number of members in each tuple
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<List<Member>>
    • setContext

      public void setContext(Evaluator evaluator)
      Specified by:
      setContext in interface TupleCursor
    • member

      public Member member(int column)
      Specified by:
      member in interface TupleCursor