Class DelegatingTupleList

  • All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Iterable<java.util.List<Member>>, java.util.Collection<java.util.List<Member>>, java.util.List<java.util.List<Member>>, java.util.RandomAccess, TupleIterable, TupleList

    public class DelegatingTupleList
    extends AbstractTupleList
    Implementation of TupleList based on a list of List<Member> tuples.
    Author:
    jhyde
    • Constructor Detail

      • DelegatingTupleList

        public DelegatingTupleList​(int arity,
                                   java.util.List<java.util.List<Member>> list)
        Creates a DelegatingTupleList.
        Parameters:
        arity - Arity
        list - Backing list
    • Method Detail

      • get

        public java.util.List<Member> get​(int index)
        Specified by:
        get in interface java.util.List<java.util.List<Member>>
        Specified by:
        get in class java.util.AbstractList<java.util.List<Member>>
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<java.util.List<Member>>
        Specified by:
        size in interface java.util.List<java.util.List<Member>>
        Specified by:
        size in class java.util.AbstractCollection<java.util.List<Member>>
      • slice

        public java.util.List<Member> slice​(int column)
        Description copied from interface: TupleList
        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.

        Parameters:
        column - Ordinal of the member in each tuple to project
        Returns:
        List of members
      • cloneList

        public TupleList cloneList​(int capacity)
        Description copied from interface: TupleList
        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
      • set

        public java.util.List<Member> set​(int index,
                                          java.util.List<Member> element)
        Specified by:
        set in interface java.util.List<java.util.List<Member>>
        Overrides:
        set in class java.util.AbstractList<java.util.List<Member>>
      • add

        public void add​(int index,
                        java.util.List<Member> element)
        Specified by:
        add in interface java.util.List<java.util.List<Member>>
        Overrides:
        add in class java.util.AbstractList<java.util.List<Member>>
      • addTuple

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

        public TupleList project​(int[] destIndices)