Segment.ExcludedRegion| Modifier and Type | Field and Description |
|---|---|
(package private) SegmentAxis[] |
axes
An array of axes, one for each constraining column, containing the values
returned for that constraining column.
|
columns, compoundPredicateList, constrainedColumnsBitKey, excludedRegions, id, measure, predicates, star| Constructor and Description |
|---|
SegmentWithData(Segment segment,
SegmentDataset data,
SegmentAxis[] axes)
Creates a SegmentWithData from an existing Segment.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) 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.
|
protected void |
describeAxes(StringBuilder buf,
int i,
boolean values) |
int |
getCellCount()
Returns the number of cells in this Segment, deducting cells in
excluded regions.
|
Object |
getCellValue(Object[] keys)
Retrieves the value at the location identified by
keys. |
SegmentDataset |
getData()
Returns the data set.
|
(package private) boolean |
wouldContain(Object[] keys)
Returns whether the given set of key values will be in this segment
when it finishes loading.
|
createDataset, getColumns, getCompoundPredicateList, getConstrainedColumnsBitKey, getExcludedRegions, getHeader, getStar, isExcluded, matches, print, toStringfinal SegmentAxis[] axes
public SegmentWithData(Segment segment, SegmentDataset data, SegmentAxis[] axes)
segment - Segment (without data)data - Data setprotected void describeAxes(StringBuilder buf, int i, boolean values)
describeAxes in class Segmentpublic Object getCellValue(Object[] keys)
keys.
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);make package-private?boolean wouldContain(Object[] keys)
public int getCellCount()
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.
SegmentWithData createSubSegment(BitSet[] axisKeepBitSets, int bestColumn, StarColumnPredicate bestPredicate, List<Segment.ExcludedRegion> excludedRegions)
If bestColumn is not -1, the bestColumnth
column's predicate should be replaced by bestPredicate.
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 segmentpublic final SegmentDataset getData()
Returns the data set.
WARNING: the returned SegmentDataset reference should not be modified; it is assumed to be invariant.
data reference