Class SequencedAdderAggregateLambdaFactory<TSource,TAccumulate,TResult,TKey>
- java.lang.Object
-
- org.apache.calcite.adapter.enumerable.SequencedAdderAggregateLambdaFactory<TSource,TAccumulate,TResult,TKey>
-
- Type Parameters:
TSource
- Type of the enumerable input sourceTAccumulate
- Type of the accumulatorTResult
- Type of the enumerable output resultTKey
- Type of the group-by key
- All Implemented Interfaces:
AggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
public class SequencedAdderAggregateLambdaFactory<TSource,TAccumulate,TResult,TKey> extends java.lang.Object implements AggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
Implementation ofAggregateLambdaFactory
that applies a sequence of accumulator adders to input source.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
SequencedAdderAggregateLambdaFactory.AccumulatorAdderSeq
Decorator class of a sequence of accumulator adder functions.
-
Field Summary
Fields Modifier and Type Field Description private Function2<TAccumulate,TSource,TAccumulate>
accumulatorAdderDecorator
private Function0<TAccumulate>
accumulatorInitializer
-
Constructor Summary
Constructors Constructor Description SequencedAdderAggregateLambdaFactory(Function0<TAccumulate> accumulatorInitializer, java.util.List<Function2<TAccumulate,TSource,TAccumulate>> accumulatorAdders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Function2<TAccumulate,TSource,TAccumulate>
accumulatorAdder()
Function0<TAccumulate>
accumulatorInitializer()
Function2<TKey,TAccumulate,TResult>
resultSelector(Function2<TKey,TAccumulate,TResult> resultSelector)
Function1<TAccumulate,TResult>
singleGroupResultSelector(Function1<TAccumulate,TResult> resultSelector)
-
-
-
Field Detail
-
accumulatorInitializer
private final Function0<TAccumulate> accumulatorInitializer
-
accumulatorAdderDecorator
private final Function2<TAccumulate,TSource,TAccumulate> accumulatorAdderDecorator
-
-
Constructor Detail
-
SequencedAdderAggregateLambdaFactory
public SequencedAdderAggregateLambdaFactory(Function0<TAccumulate> accumulatorInitializer, java.util.List<Function2<TAccumulate,TSource,TAccumulate>> accumulatorAdders)
-
-
Method Detail
-
accumulatorInitializer
public Function0<TAccumulate> accumulatorInitializer()
- Specified by:
accumulatorInitializer
in interfaceAggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
-
accumulatorAdder
public Function2<TAccumulate,TSource,TAccumulate> accumulatorAdder()
- Specified by:
accumulatorAdder
in interfaceAggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
-
singleGroupResultSelector
public Function1<TAccumulate,TResult> singleGroupResultSelector(Function1<TAccumulate,TResult> resultSelector)
- Specified by:
singleGroupResultSelector
in interfaceAggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
-
resultSelector
public Function2<TKey,TAccumulate,TResult> resultSelector(Function2<TKey,TAccumulate,TResult> resultSelector)
- Specified by:
resultSelector
in interfaceAggregateLambdaFactory<TSource,TAccumulate,TAccumulate,TResult,TKey>
-
-