com.espertech.esper.epl.expression.baseagg
Class ExprAggregateNodeUtil

java.lang.Object
  extended by com.espertech.esper.epl.expression.baseagg.ExprAggregateNodeUtil

public class ExprAggregateNodeUtil
extends java.lang.Object


Constructor Summary
ExprAggregateNodeUtil()
           
 
Method Summary
static int countPositionalArgs(java.util.List<ExprNode> args)
           
static void getAggregatesBottomUp(ExprNode[][] nodes, java.util.List<ExprAggregateNode> aggregateNodes)
           
static void getAggregatesBottomUp(ExprNode[] nodes, java.util.List<ExprAggregateNode> aggregateNodes)
           
static void getAggregatesBottomUp(ExprNode topNode, java.util.List<ExprAggregateNode> aggregateNodes)
          Populates into the supplied list all aggregation functions within this expression, if any.
static ExprAggregateNodeParamDesc getValidatePositionalParams(ExprNode[] childNodes, boolean allowOnlyGroupBy)
           
static boolean isNonPositionalParameter(ExprNode node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprAggregateNodeUtil

public ExprAggregateNodeUtil()
Method Detail

getValidatePositionalParams

public static ExprAggregateNodeParamDesc getValidatePositionalParams(ExprNode[] childNodes,
                                                                     boolean allowOnlyGroupBy)
                                                              throws ExprValidationException
Throws:
ExprValidationException

isNonPositionalParameter

public static boolean isNonPositionalParameter(ExprNode node)

getAggregatesBottomUp

public static void getAggregatesBottomUp(ExprNode[][] nodes,
                                         java.util.List<ExprAggregateNode> aggregateNodes)

getAggregatesBottomUp

public static void getAggregatesBottomUp(ExprNode[] nodes,
                                         java.util.List<ExprAggregateNode> aggregateNodes)

getAggregatesBottomUp

public static void getAggregatesBottomUp(ExprNode topNode,
                                         java.util.List<ExprAggregateNode> aggregateNodes)
Populates into the supplied list all aggregation functions within this expression, if any.

Populates by going bottom-up such that nested aggregates appear first.

I.e. sum(volume * sum(price)) would put first A then B into the list with A=sum(price) and B=sum(volume * A)

Parameters:
topNode - is the expression node to deep inspect
aggregateNodes - is a list of node to populate into

countPositionalArgs

public static int countPositionalArgs(java.util.List<ExprNode> args)

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