Package mondrian.calc

Interface TupleList

All Superinterfaces:
Collection<List<Member>>, Iterable<List<Member>>, List<List<Member>>, TupleIterable
All Known Implementing Classes:
AbstractTupleList, ArrayTupleList, DelegatingTupleList, ListTupleList, UnaryTupleList

public interface TupleList extends List<List<Member>>, TupleIterable
List of tuples.

Design notes

Author:
jhyde
  • Method Details

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

      TupleList subList(int fromIndex, int toIndex)
      Specified by:
      subList in interface List<List<Member>>
    • withPositionCallback

      TupleList withPositionCallback(TupleList.PositionCallback positionCallback)
    • 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