com.espertech.esper.epl.expression
Class ExprCountNode

java.lang.Object
  extended by com.espertech.esper.epl.expression.ExprNode
      extended by com.espertech.esper.epl.expression.ExprAggregateNode
          extended by com.espertech.esper.epl.expression.ExprCountNode
All Implemented Interfaces:
ExprEvaluator, ExprValidator, MetaDefItem, Serializable

public class ExprCountNode
extends ExprAggregateNode

Represents the count(...) and count(*) and count(distinct ...) aggregate function is an expression tree.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.espertech.esper.epl.expression.ExprNode
ExprNode.MappedPropertyParseResult
 
Field Summary
 
Fields inherited from class com.espertech.esper.epl.expression.ExprAggregateNode
isDistinct
 
Constructor Summary
ExprCountNode(boolean distinct)
          Ctor.
 
Method Summary
 boolean equalsNodeAggregate(ExprAggregateNode node)
          Return true if a expression aggregate node semantically equals the current node, or false if not.
protected  String getAggregationFunctionName()
          Returns the aggregation function name for representation in a generate expression string.
 AggregationMethod validateAggregationChild(StreamTypeService streamTypeService, MethodResolutionService methodResolutionService)
          Gives the aggregation node a chance to validate the sub-expression types.
 
Methods inherited from class com.espertech.esper.epl.expression.ExprAggregateNode
equalsNode, evaluate, getAggregatesBottomUp, getPrototypeAggregator, getType, isConstantResult, isDistinct, setAggregationResultFuture, toExpressionString, validate, validateSingleNumericChild
 
Methods inherited from class com.espertech.esper.epl.expression.ExprNode
accept, addChildNode, deepEquals, dumpDebug, getChildNodes, getValidatedSubtree, parseMappedProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprCountNode

public ExprCountNode(boolean distinct)
Ctor.

Parameters:
distinct - - flag indicating unique or non-unique value aggregation
Method Detail

validateAggregationChild

public AggregationMethod validateAggregationChild(StreamTypeService streamTypeService,
                                                  MethodResolutionService methodResolutionService)
                                           throws ExprValidationException
Description copied from class: ExprAggregateNode
Gives the aggregation node a chance to validate the sub-expression types.

Specified by:
validateAggregationChild in class ExprAggregateNode
Parameters:
streamTypeService - is the types per stream
methodResolutionService - used for resolving method and function names
Returns:
aggregation function use
Throws:
ExprValidationException - when expression validation failed

getAggregationFunctionName

protected String getAggregationFunctionName()
Description copied from class: ExprAggregateNode
Returns the aggregation function name for representation in a generate expression string.

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

equalsNodeAggregate

public final boolean equalsNodeAggregate(ExprAggregateNode node)
Description copied from class: ExprAggregateNode
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:
equalsNodeAggregate in class ExprAggregateNode
Parameters:
node - to compare to
Returns:
true if semantically equal, or false if not equals

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com