com.espertech.esper.epl.expression.baseagg
Class ExprAggregateNodeUtil
java.lang.Object
com.espertech.esper.epl.expression.baseagg.ExprAggregateNodeUtil
public class ExprAggregateNodeUtil
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExprAggregateNodeUtil
public ExprAggregateNodeUtil()
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 inspectaggregateNodes
- is a list of node to populate into
countPositionalArgs
public static int countPositionalArgs(java.util.List<ExprNode> args)