Class AggregationFunctionValidationContext
java.lang.Object
com.espertech.esper.common.client.hook.aggfunc.AggregationFunctionValidationContext
Context for use with plug-in custom aggregation functions that implement
AggregationFunctionForge
.
This context object provides access to the parameter expressions themselves as well as information compiled from the parameter expressions for your convenience.
-
Constructor Summary
ConstructorDescriptionAggregationFunctionValidationContext
(EPType[] parameterTypes, boolean[] constantValue, Object[] constantValues, boolean distinct, boolean windowed, ExprNode[] expressions, LinkedHashMap<String, List<ExprNode>> namedParameters) Ctor. -
Method Summary
Modifier and TypeMethodDescriptionObject[]
If a parameter expression returns a constant value, the value of the constant it returns is provided in this array.ExprNode[]
Returns the parameter expressions themselves for interrogation.boolean[]
A boolean indicator for each parameter expression that is true if the expression returns a constant result or false if the expression result is not a constant value.Returns any named parameters or null if there are no named parametersEPType[]
The return type of each parameter expression.boolean
Returns true to indicate that the 'distinct' keyword was specified for this aggregation function.boolean
Returns true to indicate that all parameter expressions return event properties that originate from a stream that provides a remove stream.
-
Constructor Details
-
AggregationFunctionValidationContext
public AggregationFunctionValidationContext(EPType[] parameterTypes, boolean[] constantValue, Object[] constantValues, boolean distinct, boolean windowed, ExprNode[] expressions, LinkedHashMap<String, List<ExprNode>> namedParameters) Ctor.- Parameters:
parameterTypes
- the type of each parameter expression.constantValue
- for each parameter expression an indicator whether the expression returns a constant resultconstantValues
- for each parameter expression that returns a constant result this array contains the constant valuedistinct
- true if 'distinct' keyword was providedwindowed
- true if all event properties references by parameter expressions are from streams that have data windows declared onto the stream or are from named windowsexpressions
- the parameter expressions themselves (positional parameters only)namedParameters
- provided when there are named parameters, such as the "filter:expression" parameter
-
-
Method Details
-
getParameterTypes
The return type of each parameter expression.This information can also be obtained by calling getType on each parameter expression.
- Returns:
- array providing result type of each parameter expression
-
getIsConstantValue
public boolean[] getIsConstantValue()A boolean indicator for each parameter expression that is true if the expression returns a constant result or false if the expression result is not a constant value.This information can also be obtained by calling isConstantResult on each parameter expression.
- Returns:
- array providing an indicator per parameter expression that the result is a constant value
-
getConstantValues
If a parameter expression returns a constant value, the value of the constant it returns is provided in this array.This information can also be obtained by calling evaluate on each parameter expression providing a constant value.
- Returns:
- array providing the constant return value per parameter expression that has constant result value, or null if a parameter expression is deemded to not provide a constant result value
-
isDistinct
public boolean isDistinct()Returns true to indicate that the 'distinct' keyword was specified for this aggregation function.- Returns:
- distinct value indicator
-
isWindowed
public boolean isWindowed()Returns true to indicate that all parameter expressions return event properties that originate from a stream that provides a remove stream.- Returns:
- windowed indicator
-
getExpressions
Returns the parameter expressions themselves for interrogation.- Returns:
- parameter expressions
-
getNamedParameters
Returns any named parameters or null if there are no named parameters- Returns:
- named parameters
-