mondrian.calc.impl
Class DelegatingTupleList

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<List<Member>>
          extended by mondrian.calc.impl.AbstractTupleList
              extended by mondrian.calc.impl.DelegatingTupleList
All Implemented Interfaces:
Cloneable, Iterable<List<Member>>, Collection<List<Member>>, List<List<Member>>, RandomAccess, TupleIterable, TupleList

public class DelegatingTupleList
extends AbstractTupleList

Implementation of TupleList based on a list of List<Member> tuples.

Author:
jhyde

Nested Class Summary
 
Nested classes/interfaces inherited from class mondrian.calc.impl.AbstractTupleList
AbstractTupleList.AbstractTupleListIterator
 
Nested classes/interfaces inherited from interface mondrian.calc.TupleList
TupleList.PositionCallback
 
Field Summary
 
Fields inherited from class mondrian.calc.impl.AbstractTupleList
arity, mutable
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
DelegatingTupleList(int arity, List<List<Member>> list)
          Creates a DelegatingTupleList.
 
Method Summary
 void add(int index, List<Member> element)
           
 void addTuple(Member... members)
           
 TupleList cloneList(int capacity)
          Creates a copy of this list that has the same type and has a given capacity.
 List<Member> get(int index)
           
 TupleList project(int[] destIndices)
           
 List<Member> set(int index, List<Member> element)
           
 int size()
           
 List<Member> slice(int column)
          Returns a list of the members at a given column.
 TupleList subList(int fromIndex, int toIndex)
           
protected  TupleIterator tupleIteratorInternal()
           
 TupleList withPositionCallback(TupleList.PositionCallback positionCallback)
           
 
Methods inherited from class mondrian.calc.impl.AbstractTupleList
addCurrent, fix, get, getArity, iterator, tupleCursor, tupleIterator
 
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, listIterator, remove, removeRange
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
add, addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, toArray, toArray
 

Constructor Detail

DelegatingTupleList

public DelegatingTupleList(int arity,
                           List<List<Member>> list)
Creates a DelegatingTupleList.

Parameters:
arity - Arity
list - Backing list
Method Detail

tupleIteratorInternal

protected TupleIterator tupleIteratorInternal()
Specified by:
tupleIteratorInternal in class AbstractTupleList

subList

public TupleList subList(int fromIndex,
                         int toIndex)
Specified by:
subList in interface List<List<Member>>
Specified by:
subList in interface TupleList
Specified by:
subList in class AbstractTupleList

get

public List<Member> get(int index)
Specified by:
get in interface List<List<Member>>
Specified by:
get in class AbstractList<List<Member>>

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>>

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

set

public List<Member> set(int index,
                        List<Member> element)
Specified by:
set in interface List<List<Member>>
Overrides:
set in class AbstractList<List<Member>>

add

public void add(int index,
                List<Member> element)
Specified by:
add in interface List<List<Member>>
Overrides:
add in class AbstractList<List<Member>>

addTuple

public void addTuple(Member... members)

project

public TupleList project(int[] destIndices)

withPositionCallback

public TupleList withPositionCallback(TupleList.PositionCallback positionCallback)

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads