public class ExprNodeValidated extends ExprNodeBase implements ExprForge, ExprEvaluator
Constructor and Description |
---|
ExprNodeValidated(ExprNode inner)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(ExprNodeVisitor visitor)
Accept the visitor.
|
boolean |
equalsNode(ExprNode node,
boolean ignoreStreamPrefix)
Return true if a expression node semantically equals the current node, or false if not.
|
Object |
evaluate(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Evaluate event tuple and return result.
|
CodegenExpression |
evaluateCodegen(CodegenParamSetExprPremade params,
CodegenContext context) |
ExprForgeComplexityEnum |
getComplexity() |
Class |
getEvaluationType() |
ExprEvaluator |
getExprEvaluator() |
ExprForge |
getForge() |
ExprNodeRenderable |
getForgeRenderable() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
boolean |
isConstantResult()
Returns true if the expression node's evaluation value doesn't depend on any events data,
as must be determined at validation time, which is bottom-up and therefore
reliably allows each node to determine constant value.
|
void |
toEPL(StringWriter writer,
ExprPrecedenceEnum parentPrecedence) |
void |
toPrecedenceFreeEPL(StringWriter writer) |
ExprNode |
validate(ExprValidationContext validationContext) |
accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes
public ExprNodeValidated(ExprNode inner)
inner
- nested expression nodepublic ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprForge
public CodegenExpression evaluateCodegen(CodegenParamSetExprPremade params, CodegenContext context)
evaluateCodegen
in interface ExprForge
public Class getEvaluationType()
getEvaluationType
in interface ExprForge
public ExprNodeRenderable getForgeRenderable()
getForgeRenderable
in interface ExprForge
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode
public void toEPL(StringWriter writer, ExprPrecedenceEnum parentPrecedence)
toEPL
in interface ExprNodeRenderable
toEPL
in class ExprNodeBase
public void toPrecedenceFreeEPL(StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
public boolean equalsNode(ExprNode node, boolean ignoreStreamPrefix)
ExprNode
Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
equalsNode
in interface ExprNode
node
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public void accept(ExprNodeVisitor visitor)
ExprNode
The visitor can decide to skip child nodes by returning false in isVisit.
accept
in interface ExprNode
accept
in class ExprNodeBase
visitor
- to visit each node and each child node.public Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
ExprEvaluator
evaluate
in interface ExprEvaluator
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evaluationpublic ExprForgeComplexityEnum getComplexity()
getComplexity
in interface ExprForge