java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.agg.base.ExprAggregateNodeBase
All Implemented Interfaces:
ExprAggregateNode, ExprEvaluator, ExprForge, ExprForgeInstrumentable, ExprNode, ExprNodeRenderable, ExprValidator
Direct Known Subclasses:
ExprAggMultiFunctionCountMinSketchNode, ExprAggMultiFunctionLinearAccessNode, ExprAggMultiFunctionSortedMinMaxByNode, ExprAvedevNode, ExprAvgNode, ExprCountEverNode, ExprCountNode, ExprFirstLastEverNode, ExprLeavingAggNode, ExprMedianNode, ExprMinMaxAggrNode, ExprNthAggNode, ExprPlugInAggNode, ExprPlugInMultiFunctionAggNode, ExprRateAggNode, ExprStddevNode, ExprSumNode

public abstract class ExprAggregateNodeBase extends ExprNodeBase implements ExprEvaluator, ExprAggregateNode, ExprForgeInstrumentable
Base expression node that represents an aggregation function such as 'sum' or 'count'.

In terms of validation each concrete aggregation node must implement it's own validation.

In terms of evaluation this base class will ask the assigned AggregationResultFuture for the current state, using a column number assigned to the node.

Concrete subclasses must supply an aggregation state prototype node that reflects each group's (there may be group-by critera) current aggregation state.