mondrian.calc.impl
Class ArrayTupleList
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<List<Member>>
mondrian.calc.impl.AbstractTupleList
mondrian.calc.impl.AbstractEndToEndTupleList
mondrian.calc.impl.ArrayTupleList
- All Implemented Interfaces:
- Cloneable, Iterable<List<Member>>, Collection<List<Member>>, List<List<Member>>, RandomAccess, TupleIterable, TupleList
public class ArrayTupleList
- extends AbstractEndToEndTupleList
Implementation of TupleList that stores tuples end-to-end in an
array.
- Author:
- jhyde
|
Constructor Summary |
ArrayTupleList(int arity)
Creates an empty ArrayTupleList with an initial capacity of 10 tuples. |
ArrayTupleList(int arity,
int initialCapacity)
Creates an empty ArrayTupleList. |
| Methods inherited from interface java.util.List |
clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, listIterator, listIterator, remove, removeAll, retainAll, toArray, toArray |
ArrayTupleList
public ArrayTupleList(int arity)
- Creates an empty ArrayTupleList with an initial capacity of 10 tuples.
- Parameters:
arity - Arity
ArrayTupleList
public ArrayTupleList(int arity,
int initialCapacity)
- Creates an empty ArrayTupleList.
- Parameters:
arity - ArityinitialCapacity - Initial capacity
backingList
protected List<Member> backingList()
- Specified by:
backingList in class AbstractEndToEndTupleList
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- Overrides:
get in class AbstractTupleList
- Parameters:
slice - Column ordinalindex - Row ordinal
- Returns:
- Member at given row and column
get
public List<Member> get(int index)
- Specified by:
get in interface List<List<Member>>- Specified by:
get in class AbstractList<List<Member>>
set
public List<Member> set(int index,
List<Member> element)
- Specified by:
set in interface List<List<Member>>- Overrides:
set in class AbstractEndToEndTupleList
addCurrent
public void addCurrent(TupleCursor tupleIter)
- Specified by:
addCurrent in interface TupleList- Overrides:
addCurrent in class AbstractTupleList
size
public int size()
- Specified by:
size in interface Collection<List<Member>>- Specified by:
size in interface List<List<Member>>- Specified by:
size in class AbstractCollection<List<Member>>
add
public boolean add(List<Member> members)
- Specified by:
add in interface Collection<List<Member>>- Specified by:
add in interface List<List<Member>>- Overrides:
add in class AbstractList<List<Member>>
add
public void add(int index,
List<Member> members)
- Specified by:
add in interface List<List<Member>>- Overrides:
add in class AbstractList<List<Member>>
addAll
public boolean addAll(int index,
Collection<? extends List<Member>> c)
- Specified by:
addAll in interface List<List<Member>>- Overrides:
addAll in class AbstractEndToEndTupleList
addTuple
public void addTuple(Member... members)
remove
public List<Member> remove(int index)
- Specified by:
remove in interface List<List<Member>>- Overrides:
remove in class AbstractList<List<Member>>
slice
public 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
tupleIteratorInternal
public TupleIterator tupleIteratorInternal()
- Specified by:
tupleIteratorInternal in class AbstractTupleList