Class AbstractTupleList

All Implemented Interfaces:
Cloneable, Iterable<List<Member>>, Collection<List<Member>>, List<List<Member>>, RandomAccess, TupleIterable, TupleList
Direct Known Subclasses:
ArrayTupleList, DelegatingTupleList, ListTupleList

public abstract class AbstractTupleList extends AbstractList<List<Member>> implements RandomAccess, Cloneable, TupleList
Abstract implementation of TupleList.
Author:
jhyde
  • Field Details

    • arity

      protected final int arity
    • mutable

      protected boolean mutable
  • Constructor Details

    • AbstractTupleList

      public AbstractTupleList(int arity)
  • Method Details

    • getArity

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

      protected abstract TupleIterator tupleIteratorInternal()
    • subList

      public abstract TupleList subList(int fromIndex, int toIndex)
      Specified by:
      subList in interface List<List<Member>>
      Specified by:
      subList in interface TupleList
      Overrides:
      subList in class AbstractList<List<Member>>
    • fix

      public TupleList fix()
      Description copied from interface: TupleList
      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.
      Specified by:
      fix in interface TupleList
      Returns:
      List whose tuples are invariant if the list is sorted or filtered
    • iterator

      public final Iterator<List<Member>> iterator()
      Specified by:
      iterator in interface Collection<List<Member>>
      Specified by:
      iterator in interface Iterable<List<Member>>
      Specified by:
      iterator in interface List<List<Member>>
      Overrides:
      iterator in class AbstractList<List<Member>>
    • tupleIterator

      public final TupleIterator tupleIterator()
      Description copied from interface: TupleIterable
      Creates an iterator over the contents of this iterable.

      Always has the same effect as calling Iterable.iterator().

      Specified by:
      tupleIterator in interface TupleIterable
      Returns:
      cursor over the tuples returned by this iterable
      See Also:
    • tupleCursor

      public TupleCursor tupleCursor()
      Creates a TupleCursor over this list.

      Any implementation of TupleList must implement all three methods iterator(), tupleIterator() and tupleCursor. The default implementation returns the same for all three, but a derived classes can override this method to create a more efficient implementation that implements cursor but not iterator.

      Specified by:
      tupleCursor in interface TupleIterable
      Returns:
      A cursor over this list
    • addCurrent

      public void addCurrent(TupleCursor tupleIter)
      Specified by:
      addCurrent in interface TupleList
    • get

      public Member get(int slice, int index)
      Description copied from interface: TupleList
      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.

      Specified by:
      get in interface TupleList
      Parameters:
      slice - Column ordinal
      index - Row ordinal
      Returns:
      Member at given row and column