Package mondrian.calc

Interface TupleCursor

    • Method Detail

      • setContext

        void setContext​(Evaluator evaluator)
      • forward

        boolean forward()
        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.

        Returns:
        Whether was able to move forward a position
      • current

        List<Member> current()
        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 forward() has not been called or if the most recent call to forward returned false.

        Returns:
        Current tuple
      • getArity

        int getArity()
        Returns the number of members in each tuple.
        Returns:
        The number of members in each tuple
      • member

        Member member​(int column)
      • currentToArray

        void currentToArray​(Member[] members,
                            int offset)
        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.

        Parameters:
        members - Members
        offset - Offset in the array to write to