com.espertech.esper.epl.core
Class ResultSetProcessorRowPerGroupFactory

java.lang.Object
  extended by com.espertech.esper.epl.core.ResultSetProcessorRowPerGroupFactory
All Implemented Interfaces:
ResultSetProcessorFactory

public class ResultSetProcessorRowPerGroupFactory
extends java.lang.Object
implements ResultSetProcessorFactory

Result set processor prototype for the fully-grouped case: there is a group-by and all non-aggregation event properties in the select clause are listed in the group by, and there are aggregation functions.


Constructor Summary
ResultSetProcessorRowPerGroupFactory(SelectExprProcessor selectExprProcessor, ExprNode[] groupKeyNodeExpressions, ExprEvaluator[] groupKeyNodes, ExprEvaluator optionalHavingNode, boolean isSelectRStream, boolean isUnidirectional, OutputLimitSpec outputLimitSpec, boolean isSorting, boolean noDataWindowSingleStream, boolean isHistoricalOnly, boolean iterateUnbounded)
          Ctor.
 
Method Summary
 ExprEvaluator getGroupKeyNode()
           
 ExprNode[] getGroupKeyNodeExpressions()
           
 ExprEvaluator[] getGroupKeyNodes()
           
 ExprEvaluator getOptionalHavingNode()
           
 OutputLimitSpec getOutputLimitSpec()
           
 EventType getResultEventType()
          Returns the event type of processed results.
 boolean hasAggregation()
           
 ResultSetProcessor instantiate(OrderByProcessor orderByProcessor, AggregationService aggregationService, AgentInstanceContext agentInstanceContext)
           
 boolean isHistoricalOnly()
           
 boolean isSelectRStream()
           
 boolean isSorting()
           
 boolean isUnidirectional()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResultSetProcessorRowPerGroupFactory

public ResultSetProcessorRowPerGroupFactory(SelectExprProcessor selectExprProcessor,
                                            ExprNode[] groupKeyNodeExpressions,
                                            ExprEvaluator[] groupKeyNodes,
                                            ExprEvaluator optionalHavingNode,
                                            boolean isSelectRStream,
                                            boolean isUnidirectional,
                                            OutputLimitSpec outputLimitSpec,
                                            boolean isSorting,
                                            boolean noDataWindowSingleStream,
                                            boolean isHistoricalOnly,
                                            boolean iterateUnbounded)
Ctor.

Parameters:
selectExprProcessor - - for processing the select expression and generting the final output rows
groupKeyNodes - - list of group-by expression nodes needed for building the group-by keys
optionalHavingNode - - expression node representing validated HAVING clause, or null if none given. Aggregation functions in the having node must have been pointed to the AggregationService for evaluation.
isSelectRStream - - true if remove stream events should be generated
isUnidirectional - - true if unidirectional join
Method Detail

instantiate

public ResultSetProcessor instantiate(OrderByProcessor orderByProcessor,
                                      AggregationService aggregationService,
                                      AgentInstanceContext agentInstanceContext)
Specified by:
instantiate in interface ResultSetProcessorFactory

getResultEventType

public EventType getResultEventType()
Description copied from interface: ResultSetProcessorFactory
Returns the event type of processed results.

Specified by:
getResultEventType in interface ResultSetProcessorFactory
Returns:
event type of the resulting events posted by the processor.

hasAggregation

public boolean hasAggregation()
Specified by:
hasAggregation in interface ResultSetProcessorFactory

getGroupKeyNodes

public ExprEvaluator[] getGroupKeyNodes()

getGroupKeyNode

public ExprEvaluator getGroupKeyNode()

getOptionalHavingNode

public ExprEvaluator getOptionalHavingNode()

isSorting

public boolean isSorting()

isSelectRStream

public boolean isSelectRStream()

isUnidirectional

public boolean isUnidirectional()

getOutputLimitSpec

public OutputLimitSpec getOutputLimitSpec()

getGroupKeyNodeExpressions

public ExprNode[] getGroupKeyNodeExpressions()

isHistoricalOnly

public boolean isHistoricalOnly()

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com