Package mondrian.rolap.agg
Class SegmentWithData
- java.lang.Object
-
- mondrian.rolap.agg.Segment
-
- mondrian.rolap.agg.SegmentWithData
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class mondrian.rolap.agg.Segment
Segment.ExcludedRegion
-
-
Field Summary
Fields Modifier and Type Field Description (package private) SegmentAxis[]axesAn array of axes, one for each constraining column, containing the values returned for that constraining column.-
Fields inherited from class mondrian.rolap.agg.Segment
columns, compoundPredicateList, constrainedColumnsBitKey, excludedRegions, id, measure, predicates, star
-
-
Constructor Summary
Constructors Constructor Description SegmentWithData(Segment segment, SegmentDataset data, SegmentAxis[] axes)Creates a SegmentWithData from an existing Segment.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) SegmentWithDatacreateSubSegment(BitSet[] axisKeepBitSets, int bestColumn, StarColumnPredicate bestPredicate, List<Segment.ExcludedRegion> excludedRegions)Creates a Segment which has the same dimensionality as this Segment and a subset of the values.protected voiddescribeAxes(StringBuilder buf, int i, boolean values)intgetCellCount()Returns the number of cells in this Segment, deducting cells in excluded regions.ObjectgetCellValue(Object[] keys)Retrieves the value at the location identified bykeys.SegmentDatasetgetData()Returns the data set.(package private) booleanwouldContain(Object[] keys)Returns whether the given set of key values will be in this segment when it finishes loading.-
Methods inherited from class mondrian.rolap.agg.Segment
createDataset, getColumns, getCompoundPredicateList, getConstrainedColumnsBitKey, getExcludedRegions, getHeader, getStar, isExcluded, matches, print, toString
-
-
-
-
Field Detail
-
axes
final SegmentAxis[] axes
An array of axes, one for each constraining column, containing the values returned for that constraining column.
-
-
Constructor Detail
-
SegmentWithData
public SegmentWithData(Segment segment, SegmentDataset data, SegmentAxis[] axes)
Creates a SegmentWithData from an existing Segment.- Parameters:
segment- Segment (without data)data- Data set
-
-
Method Detail
-
describeAxes
protected void describeAxes(StringBuilder buf, int i, boolean values)
- Overrides:
describeAxesin classSegment
-
getCellValue
public Object getCellValue(Object[] keys)
Retrieves the value at the location identified bykeys.Returns
Util.nullValueif the cell value is null (because no fact table rows met those criteria);nullif the value is not supposed to be in this segment (because one or more of the keys do not pass the axis criteria);- the data value otherwise
- See Also:
make package-private?
-
wouldContain
boolean wouldContain(Object[] keys)
Returns whether the given set of key values will be in this segment when it finishes loading.
-
getCellCount
public int getCellCount()
Returns the number of cells in this Segment, deducting cells in excluded regions.This method may return a value which is slightly too low, or occasionally even negative. This occurs when a Segment has more than one excluded region, and those regions overlap. Cells which are in both regions will be counted twice.
- Returns:
- Number of cells in this Segment
-
createSubSegment
SegmentWithData createSubSegment(BitSet[] axisKeepBitSets, int bestColumn, StarColumnPredicate bestPredicate, List<Segment.ExcludedRegion> excludedRegions)
Creates a Segment which has the same dimensionality as this Segment and a subset of the values.If
bestColumnis not -1, thebestColumnth column's predicate should be replaced bybestPredicate.- Parameters:
axisKeepBitSets- For each axis, a bitmap of the axis values to keep; each axis must have at least one bit setbestColumn- The column that retains most of its valuesbestPredicate-excludedRegions- List of regions to exclude from segment- Returns:
- Segment containing a subset of the values
-
getData
public final SegmentDataset getData()
Returns the data set.
WARNING: the returned SegmentDataset reference should not be modified; it is assumed to be invariant.
- Returns:
- The
datareference
-
-