mondrian.rolap.agg
Class DenseDoubleSegmentDataset

java.lang.Object
  extended by mondrian.rolap.agg.DenseSegmentDataset
      extended by mondrian.rolap.agg.DenseNativeSegmentDataset
          extended by mondrian.rolap.agg.DenseDoubleSegmentDataset
All Implemented Interfaces:
Iterable<Map.Entry<CellKey,Object>>, SegmentDataset

 class DenseDoubleSegmentDataset
extends DenseNativeSegmentDataset

Implementation of DenseSegmentDataset that stores values of type double.

Author:
jhyde

Field Summary
(package private)  double[] values
           
 
Fields inherited from class mondrian.rolap.agg.DenseNativeSegmentDataset
nullIndicators
 
Fields inherited from class mondrian.rolap.agg.DenseSegmentDataset
axisMultipliers
 
Constructor Summary
DenseDoubleSegmentDataset(SegmentAxis[] axes, double[] values, BitSet nullIndicators)
          Creates a populated DenseDoubleSegmentDataset.
DenseDoubleSegmentDataset(SegmentAxis[] axes, int size)
          Creates a DenseDoubleSegmentDataset.
 
Method Summary
 SegmentBody createSegmentBody(List<Pair<SortedSet<Comparable>,Boolean>> axes)
          Return an immutable, final and serializable implementation of a SegmentBody in order to cache this dataset.
 boolean exists(CellKey pos)
          Returns whether there is a value at a given coordinate.
 double getDouble(CellKey key)
          Returns the value at a given coordinate, as a double.
 Object getObject(CellKey pos)
          Returns the value at a given coordinate, as an Object.
 Double getObject(int offset)
           
protected  int getSize()
           
 SqlStatement.Type getType()
          Returns the SQL type of the data contained in this dataset.
 void populateFrom(int[] pos, SegmentDataset data, CellKey key)
           
 void populateFrom(int[] pos, SegmentLoader.RowList rowList, int column)
          Sets the value a given ordinal.
(package private)  void set(int k, double d)
           
 
Methods inherited from class mondrian.rolap.agg.DenseNativeSegmentDataset
isNull, isNull
 
Methods inherited from class mondrian.rolap.agg.DenseSegmentDataset
getBytes, getInt, getOffset, getOffset, iterator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

values

final double[] values
Constructor Detail

DenseDoubleSegmentDataset

DenseDoubleSegmentDataset(SegmentAxis[] axes,
                          int size)
Creates a DenseDoubleSegmentDataset.

Parameters:
axes - Segment axes, containing actual column values
size - Number of coordinates

DenseDoubleSegmentDataset

DenseDoubleSegmentDataset(SegmentAxis[] axes,
                          double[] values,
                          BitSet nullIndicators)
Creates a populated DenseDoubleSegmentDataset.

Parameters:
axes - Segment axes, containing actual column values
values - Cell values; not copied
nullIndicators - Null indicators
Method Detail

getDouble

public double getDouble(CellKey key)
Description copied from interface: SegmentDataset
Returns the value at a given coordinate, as a double.

Specified by:
getDouble in interface SegmentDataset
Overrides:
getDouble in class DenseSegmentDataset
Parameters:
key - Coordinate position
Returns:
Value

getObject

public Object getObject(CellKey pos)
Description copied from interface: SegmentDataset
Returns the value at a given coordinate, as an Object.

Specified by:
getObject in interface SegmentDataset
Overrides:
getObject in class DenseSegmentDataset
Parameters:
pos - Coordinate position
Returns:
Value

getObject

public Double getObject(int offset)
Specified by:
getObject in class DenseSegmentDataset

exists

public boolean exists(CellKey pos)
Description copied from interface: SegmentDataset
Returns whether there is a value at a given coordinate.

Parameters:
pos - Coordinate position
Returns:
Whether there is a value

populateFrom

public void populateFrom(int[] pos,
                         SegmentDataset data,
                         CellKey key)

populateFrom

public void populateFrom(int[] pos,
                         SegmentLoader.RowList rowList,
                         int column)
Description copied from interface: SegmentDataset
Sets the value a given ordinal.

Parameters:
pos - Ordinal
rowList - Row list
column - Column of row list

getType

public SqlStatement.Type getType()
Description copied from interface: SegmentDataset
Returns the SQL type of the data contained in this dataset.

Returns:
A value of SqlStatement.Type

set

void set(int k,
         double d)

getSize

protected int getSize()
Specified by:
getSize in class DenseSegmentDataset

createSegmentBody

public SegmentBody createSegmentBody(List<Pair<SortedSet<Comparable>,Boolean>> axes)
Description copied from interface: SegmentDataset
Return an immutable, final and serializable implementation of a SegmentBody in order to cache this dataset.

Parameters:
axes - An array with, for each axis, the set of axis values, sorted in natural order, and a flag saying whether the null value is also present. This is supplied by the SegmentLoader.
Returns:
A SegmentBody.

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