java.lang.Object
com.espertech.esper.common.internal.epl.expression.agg.base.ExprAggregateNodeUtil

public class ExprAggregateNodeUtil extends Object
  • Constructor Details

    • ExprAggregateNodeUtil

      public ExprAggregateNodeUtil()
  • Method Details

    • getValidatePositionalParams

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

      public static boolean isNonPositionalParameter(ExprNode node)
    • getAggregatesBottomUp

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

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

      public static void getAggregatesBottomUp(ExprNode topNode, 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(List<ExprNode> args)