com.espertech.esper.epl.expression.methodagg
Class ExprMinMaxAggrNode

java.lang.Object
  extended by com.espertech.esper.epl.expression.core.ExprNodeBase
      extended by com.espertech.esper.epl.expression.baseagg.ExprAggregateNodeBase
          extended by com.espertech.esper.epl.expression.methodagg.ExprMinMaxAggrNode
All Implemented Interfaces:
ExprAggregateNode, ExprEvaluator, ExprNode, ExprValidator, MetaDefItem, java.io.Serializable

public class ExprMinMaxAggrNode
extends ExprAggregateNodeBase

Represents the min/max(distinct? ...) aggregate function is an expression tree.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.espertech.esper.epl.expression.baseagg.ExprAggregateNodeBase
aggregationResultFuture, column, isDistinct, optionalAggregateLocalGroupByDesc, positionalParams
 
Constructor Summary
ExprMinMaxAggrNode(boolean distinct, MinMaxTypeEnum minMaxTypeEnum, boolean hasFilter, boolean isEver)
          Ctor.
 
Method Summary
 boolean equalsNodeAggregateMethodOnly(ExprAggregateNode node)
          Return true if a expression aggregate node semantically equals the current node, or false if not.
 java.lang.String getAggregationFunctionName()
          Returns the aggregation function name for representation in a generate expression string.
 MinMaxTypeEnum getMinMaxTypeEnum()
          Returns the indicator for minimum or maximum.
 boolean isEver()
           
 boolean isHasFilter()
           
 AggregationMethodFactory validateAggregationChild(ExprValidationContext validationContext)
          Gives the aggregation node a chance to validate the sub-expression types.
 
Methods inherited from class com.espertech.esper.epl.expression.baseagg.ExprAggregateNodeBase
equalsNode, evaluate, getExprEvaluator, getFactory, getOptionalLocalGroupBy, getPositionalParams, getPrecedence, getType, isConstantResult, isDistinct, isExprTextWildcardWhenNoParams, makeExceptionExpectedParamNum, setAggregationResultFuture, toPrecedenceFreeEPL, validate, validateFilter, validateNumericChildAllowFilter, validatePositionals
 
Methods inherited from class com.espertech.esper.epl.expression.core.ExprNodeBase
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.espertech.esper.epl.expression.core.ExprNode
accept, accept, acceptChildnodes, addChildNode, addChildNodes, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
 

Constructor Detail

ExprMinMaxAggrNode

public ExprMinMaxAggrNode(boolean distinct,
                          MinMaxTypeEnum minMaxTypeEnum,
                          boolean hasFilter,
                          boolean isEver)
Ctor.

Parameters:
distinct - - indicator whether distinct values of all values min/max
minMaxTypeEnum - - enum for whether to minimum or maximum compute
Method Detail

validateAggregationChild

public AggregationMethodFactory validateAggregationChild(ExprValidationContext validationContext)
                                                  throws ExprValidationException
Description copied from class: ExprAggregateNodeBase
Gives the aggregation node a chance to validate the sub-expression types.

Specified by:
validateAggregationChild in class ExprAggregateNodeBase
Parameters:
validationContext - validation information
Returns:
aggregation function factory to use
Throws:
ExprValidationException - when expression validation failed

equalsNodeAggregateMethodOnly

public final boolean equalsNodeAggregateMethodOnly(ExprAggregateNode node)
Description copied from class: ExprAggregateNodeBase
Return true if a expression aggregate node semantically equals the current node, or false if not.

For use by the equalsNode implementation which compares the distinct flag.

Specified by:
equalsNodeAggregateMethodOnly in class ExprAggregateNodeBase
Parameters:
node - to compare to
Returns:
true if semantically equal, or false if not equals

getMinMaxTypeEnum

public MinMaxTypeEnum getMinMaxTypeEnum()
Returns the indicator for minimum or maximum.

Returns:
min/max indicator

isHasFilter

public boolean isHasFilter()

getAggregationFunctionName

public java.lang.String getAggregationFunctionName()
Description copied from class: ExprAggregateNodeBase
Returns the aggregation function name for representation in a generate expression string.

Specified by:
getAggregationFunctionName in class ExprAggregateNodeBase
Returns:
aggregation function name

isEver

public boolean isEver()

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