Class ExprPlugInMultiFunctionAggNode
java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.agg.base.ExprAggregateNodeBase
com.espertech.esper.common.internal.epl.expression.agg.accessagg.ExprPlugInMultiFunctionAggNode
- All Implemented Interfaces:
ExprAggMultiFunctionNode
,ExprAggregateNode
,ExprPlugInAggNodeMarker
,ExprEnumerationEval
,ExprEnumerationForge
,ExprEvaluator
,ExprForge
,ExprForgeInstrumentable
,ExprNode
,ExprNodeRenderable
,ExprValidator
public class ExprPlugInMultiFunctionAggNode
extends ExprAggregateNodeBase
implements ExprEnumerationEval, ExprAggMultiFunctionNode, ExprPlugInAggNodeMarker
Represents a custom aggregation function in an expresson tree.
-
Field Summary
Fields inherited from class com.espertech.esper.common.internal.epl.expression.agg.base.ExprAggregateNodeBase
aggregationResultFutureMemberName, column, isDistinct, optionalAggregateLocalGroupByDesc, optionalFilter, positionalParams
Fields inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprEvaluator
EPTYPE, EPTYPEARRAY
-
Constructor Summary
ConstructorDescriptionExprPlugInMultiFunctionAggNode
(boolean distinct, ConfigurationCompilerPlugInAggregationMultiFunction config, AggregationMultiFunctionForge aggregationMultiFunctionForge, String functionName) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Return true if a expression aggregate node semantically equals the current node, or false if not.evaluateGetEventBean
(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) evaluateGetEventBeanCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateGetROCollectionEvents
(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) evaluateGetROCollectionEventsCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateGetROCollectionScalar
(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) evaluateGetROCollectionScalarCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) Returns the aggregation function name for representation in a generate expression string.getEventTypeCollection
(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) getEventTypeSingle
(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) protected boolean
protected AggregationForgeFactory
validateAggregationChild
(ExprValidationContext validationContext) Gives the aggregation node a chance to validate the sub-expression types.Methods inherited from class com.espertech.esper.common.internal.epl.expression.agg.base.ExprAggregateNodeBase
equalsNode, evaluate, evaluateCodegen, evaluateCodegenUninstrumented, getAggFuture, getColumn, getEvaluationType, getExprEvaluator, getFactory, getForge, getForgeConstantType, getForgeRenderable, getOptionalFilter, getOptionalLocalGroupBy, getPositionalParams, getPrecedence, isConstantResult, isDistinct, isExprTextWildcardWhenNoParams, makeExceptionExpectedParamNum, setColumn, toPrecedenceFreeEPL, validate, validateFilter, validateNumericChildAllowFilter, validatePositionals
Methods inherited from class com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, checkValidated, checkValidatedException, 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.common.internal.epl.expression.agg.accessagg.ExprAggMultiFunctionNode
getAggFuture, getColumn
Methods inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprEnumerationForge
getForgeRenderable
Methods inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprNode
accept, accept, acceptChildnodes, addChildNode, addChildNodes, equalsNode, getChildNodes, getForge, getPrecedence, replaceUnlistedChildNode, setChildNode, setChildNodes
Methods inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprNodeRenderable
toEPL
Methods inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprValidator
validate
-
Constructor Details
-
ExprPlugInMultiFunctionAggNode
public ExprPlugInMultiFunctionAggNode(boolean distinct, ConfigurationCompilerPlugInAggregationMultiFunction config, AggregationMultiFunctionForge aggregationMultiFunctionForge, String functionName)
-
-
Method Details
-
validateAggregationChild
protected AggregationForgeFactory 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 classExprAggregateNodeBase
- Parameters:
validationContext
- validation information- Returns:
- aggregation function factory to use
- Throws:
ExprValidationException
- when expression validation failed
-
getAggregationFunctionName
Description copied from class:ExprAggregateNodeBase
Returns the aggregation function name for representation in a generate expression string.- Specified by:
getAggregationFunctionName
in classExprAggregateNodeBase
- Returns:
- aggregation function name
-
isFilterExpressionAsLastParameter
protected boolean isFilterExpressionAsLastParameter()- Specified by:
isFilterExpressionAsLastParameter
in classExprAggregateNodeBase
-
equalsNodeAggregateMethodOnly
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 classExprAggregateNodeBase
- Parameters:
node
- to compare to- Returns:
- true if semantically equal, or false if not equals
-
getComponentTypeCollection
- Specified by:
getComponentTypeCollection
in interfaceExprEnumerationForge
- Throws:
ExprValidationException
-
getEventTypeCollection
public EventType getEventTypeCollection(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) throws ExprValidationException - Specified by:
getEventTypeCollection
in interfaceExprEnumerationForge
- Throws:
ExprValidationException
-
getEventTypeSingle
public EventType getEventTypeSingle(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) throws ExprValidationException - Specified by:
getEventTypeSingle
in interfaceExprEnumerationForge
- Throws:
ExprValidationException
-
evaluateGetROCollectionEvents
public Collection<EventBean> evaluateGetROCollectionEvents(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) - Specified by:
evaluateGetROCollectionEvents
in interfaceExprEnumerationEval
-
evaluateGetROCollectionScalar
public Collection evaluateGetROCollectionScalar(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) - Specified by:
evaluateGetROCollectionScalar
in interfaceExprEnumerationEval
-
evaluateGetEventBean
public EventBean evaluateGetEventBean(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) - Specified by:
evaluateGetEventBean
in interfaceExprEnumerationEval
-
evaluateGetROCollectionEventsCodegen
public CodegenExpression evaluateGetROCollectionEventsCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) - Specified by:
evaluateGetROCollectionEventsCodegen
in interfaceExprEnumerationForge
-
evaluateGetROCollectionScalarCodegen
public CodegenExpression evaluateGetROCollectionScalarCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) - Specified by:
evaluateGetROCollectionScalarCodegen
in interfaceExprEnumerationForge
-
evaluateGetEventBeanCodegen
public CodegenExpression evaluateGetEventBeanCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) - Specified by:
evaluateGetEventBeanCodegen
in interfaceExprEnumerationForge
-
getExprEvaluatorEnumeration
- Specified by:
getExprEvaluatorEnumeration
in interfaceExprEnumerationForge
-
getAggregationForgeFactory
- Specified by:
getAggregationForgeFactory
in interfaceExprAggMultiFunctionNode
-