Class ExprVariableNodeImpl
java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.variable.ExprVariableNodeImpl
- All Implemented Interfaces:
ExprEvaluator
,ExprForge
,ExprForgeInstrumentable
,ExprNode
,ExprNodeDeployTimeConst
,ExprNodeRenderable
,ExprValidator
,ExprVariableNode
public class ExprVariableNodeImpl
extends ExprNodeBase
implements ExprForgeInstrumentable, ExprEvaluator, ExprVariableNode
Represents a variable in an expression tree.
-
Field Summary
Fields inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprEvaluator
EPTYPE, EPTYPEARRAY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncodegenGetDeployTimeConstValue
(CodegenClassScope classScope) boolean
equalsNode
(ExprNode node, boolean ignoreStreamPrefix) Return true if a expression node semantically equals the current node, or false if not.evaluate
(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext) Evaluate event tuple and return result.evaluateCodegen
(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) evaluateCodegenUninstrumented
(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) getForge()
Returns precedence.static CodegenExpression
getReaderExpression
(VariableMetaData variableMeta, CodegenMethod methodNode, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) void
void
toPrecedenceFreeEPL
(StringWriter writer, ExprNodeRenderableFlags flags) toString()
validate
(ExprValidationContext validationContext) 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
-
Constructor Details
-
ExprVariableNodeImpl
-
-
Method Details
-
getExprEvaluator
- Specified by:
getExprEvaluator
in interfaceExprForge
-
getVariableMetadata
- Specified by:
getVariableMetadata
in interfaceExprVariableNode
-
getEvaluationType
- Specified by:
getEvaluationType
in interfaceExprForge
-
getForge
-
getForgeRenderable
- Specified by:
getForgeRenderable
in interfaceExprForge
-
validate
- Specified by:
validate
in interfaceExprValidator
- Throws:
ExprValidationException
-
toString
-
evaluate
public Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext) Description copied from interface:ExprEvaluator
Evaluate event tuple and return result.- Specified by:
evaluate
in interfaceExprEvaluator
- Parameters:
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evaluation- Returns:
- evaluation result, a boolean value for OR/AND-type evalution nodes.
-
evaluateCodegenUninstrumented
public CodegenExpression evaluateCodegenUninstrumented(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) - Specified by:
evaluateCodegenUninstrumented
in interfaceExprForgeInstrumentable
-
getReaderExpression
public static CodegenExpression getReaderExpression(VariableMetaData variableMeta, CodegenMethod methodNode, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) -
codegenGetDeployTimeConstValue
- Specified by:
codegenGetDeployTimeConstValue
in interfaceExprNodeDeployTimeConst
-
evaluateCodegen
public CodegenExpression evaluateCodegen(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) - Specified by:
evaluateCodegen
in interfaceExprForge
-
getForgeConstantType
- Specified by:
getForgeConstantType
in interfaceExprForge
-
toPrecedenceFreeEPL
- Specified by:
toPrecedenceFreeEPL
in classExprNodeBase
-
getPrecedence
Description copied from interface:ExprNode
Returns precedence.- Specified by:
getPrecedence
in interfaceExprNode
- Returns:
- precedence
-
equalsNode
Description copied from interface:ExprNode
Return true if a expression node semantically equals the current node, or false if not.Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
- Specified by:
equalsNode
in interfaceExprNode
- Parameters:
node
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event properties- Returns:
- true if semantically equal, or false if not equals
-
getVariableNameWithSubProp
- Specified by:
getVariableNameWithSubProp
in interfaceExprVariableNode
-
renderForFilterPlan
- Specified by:
renderForFilterPlan
in interfaceExprNodeDeployTimeConst
-