public class SegmentBuilder extends Object
Segment and SegmentHeader, and also
 SegmentWithData and SegmentBody.| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
SegmentBuilder.SegmentConverter
Functor to convert a segment header and body into a
  
SegmentWithData. | 
static class  | 
SegmentBuilder.SegmentConverterImpl
Implementation of  
SegmentBuilder.SegmentConverter that uses an
 AggregationKey
 and CellRequest as context to
 convert a SegmentHeader. | 
static class  | 
SegmentBuilder.StarSegmentConverter
Implementation of  
SegmentBuilder.SegmentConverter that uses a star measure
 and a list of StarPredicate. | 
| Constructor and Description | 
|---|
SegmentBuilder()  | 
| Modifier and Type | Method and Description | 
|---|---|
static SegmentWithData | 
addData(Segment segment,
       SegmentBody sb)
Converts a segment plus a  
SegmentBody into a
 SegmentWithData. | 
static boolean | 
isSubset(SegmentHeader header,
        Segment segment)
Tells if the passed segment is a subset of this segment
 and could be used for a rollup in cache operation. 
 | 
static Pair<SegmentHeader,SegmentBody> | 
rollup(Map<SegmentHeader,SegmentBody> map,
      Set<String> keepColumns,
      BitKey targetBitkey,
      Aggregator rollupAggregator,
      Dialect.Datatype datatype)
Given a collection of segments, all of the same dimensionality, rolls up
 to create a segment with reduced dimensionality. 
 | 
static List<SegmentColumn> | 
toConstrainedColumns(Collection<StarColumnPredicate> predicates)  | 
static List<SegmentColumn> | 
toConstrainedColumns(StarColumnPredicate[] predicates)  | 
static SegmentHeader | 
toHeader(Segment segment)
Creates a SegmentHeader object describing the supplied
 Segment object. 
 | 
static Segment | 
toSegment(SegmentHeader header,
         RolapStar star,
         BitKey constrainedColumnsBitKey,
         RolapStar.Column[] constrainedColumns,
         RolapStar.Measure measure,
         List<StarPredicate> compoundPredicates)
Creates a segment from a SegmentHeader. 
 | 
public static SegmentWithData addData(Segment segment, SegmentBody sb)
SegmentBody into a
 SegmentWithData.segment - Segmentsb - Segment bodypublic static Segment toSegment(SegmentHeader header, RolapStar star, BitKey constrainedColumnsBitKey, RolapStar.Column[] constrainedColumns, RolapStar.Measure measure, List<StarPredicate> compoundPredicates)
header - The header to convert.star - StarconstrainedColumnsBitKey - Constrained columnsconstrainedColumns - Constrained columnsmeasure - Measurepublic static Pair<SegmentHeader,SegmentBody> rollup(Map<SegmentHeader,SegmentBody> map, Set<String> keepColumns, BitKey targetBitkey, Aggregator rollupAggregator, Dialect.Datatype datatype)
map - Source segment headers and bodieskeepColumns - A list of column names to keep as part of
 the rolled up segment.targetBitkey - The column bit key to match with the
 resulting segment.rollupAggregator - The aggregator to use to rollup.datatype - The data type to use.public static boolean isSubset(SegmentHeader header, Segment segment)
segment - A segment which might be a subset of the
 current segment.public static List<SegmentColumn> toConstrainedColumns(StarColumnPredicate[] predicates)
public static List<SegmentColumn> toConstrainedColumns(Collection<StarColumnPredicate> predicates)
public static SegmentHeader toHeader(Segment segment)
segment - A segment object for which we want to generate
 a SegmentHeader.Copyright © 2017 Hitachi Vantara. All rights reserved.