Package mondrian.calc

Interface TupleList

    • Method Detail

      • get

        Member get​(int slice,
                   int index)
        Returns a particular column of a particular row.

        Note that list.get(row, column) is equivalent to list.slice(column).get(row) and list.get(row).get(column) but is more efficient for most implementations of TupleList.

        Parameters:
        slice - Column ordinal
        index - Row ordinal
        Returns:
        Member at given row and column
      • slice

        List<Member> slice​(int column)
        Returns a list of the members at a given column.

        The list is modifiable if and only if this TupleList is modifiable. Adding an element to a slice will create a tuple whose members in other columns are null. Removing an element from a slicer will remove a tuple.

        Specified by:
        slice in interface TupleIterable
        Parameters:
        column - Ordinal of the member in each tuple to project
        Returns:
        List of members
        Throws:
        IllegalArgumentException - if column is not less than arity
      • cloneList

        TupleList cloneList​(int capacity)
        Creates a copy of this list that has the same type and has a given capacity.

        If capacity is negative, populates the list. A deep copy is made, so that it the contents of the list are not affected to changes to any backing collections.

        Parameters:
        capacity - Capacity
        Returns:
        Copy of list, empty if capacity is non-negative
      • addTuple

        void addTuple​(Member... members)
      • project

        TupleList project​(int[] destIndices)
      • addCurrent

        void addCurrent​(TupleCursor tupleIter)
      • fix

        TupleList fix()
        Fixes the tuples of this list, so that their contents will not change even if elements of the list are reordered or removed. Returns this list if possible.
        Returns:
        List whose tuples are invariant if the list is sorted or filtered