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[]
axes
An 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) SegmentWithData
createSubSegment(java.util.BitSet[] axisKeepBitSets, int bestColumn, StarColumnPredicate bestPredicate, java.util.List<Segment.ExcludedRegion> excludedRegions)
Creates a Segment which has the same dimensionality as this Segment and a subset of the values.protected void
describeAxes(java.lang.StringBuilder buf, int i, boolean values)
int
getCellCount()
Returns the number of cells in this Segment, deducting cells in excluded regions.java.lang.Object
getCellValue(java.lang.Object[] keys)
Retrieves the value at the location identified bykeys
.SegmentDataset
getData()
Returns the data set.(package private) boolean
wouldContain(java.lang.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(java.lang.StringBuilder buf, int i, boolean values)
- Overrides:
describeAxes
in classSegment
-
getCellValue
public java.lang.Object getCellValue(java.lang.Object[] keys)
Retrieves the value at the location identified bykeys
.Returns
Util.nullValue
if the cell value is null (because no fact table rows met those criteria);null
if 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(java.lang.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(java.util.BitSet[] axisKeepBitSets, int bestColumn, StarColumnPredicate bestPredicate, java.util.List<Segment.ExcludedRegion> excludedRegions)
Creates a Segment which has the same dimensionality as this Segment and a subset of the values.If
bestColumn
is not -1, thebestColumn
th 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
data
reference
-
-