public class ExprVariableNodeImpl extends ExprNodeBase implements ExprEvaluator, ExprVariableNode
Constructor and Description |
---|
ExprVariableNodeImpl(VariableMetaData variableMetaData,
String optSubPropName) |
Modifier and Type | Method and Description |
---|---|
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.
|
Class |
getConstantType() |
Object |
getConstantValue(ExprEvaluatorContext context) |
ExprEvaluator |
getExprEvaluator() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
Class |
getType()
Returns the type that the node's evaluate method returns an instance of.
|
String |
getVariableName() |
String |
getVariableNameWithSubProp() |
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.
|
boolean |
isConstantValue() |
void |
toPrecedenceFreeEPL(StringWriter writer) |
String |
toString() |
ExprNode |
validate(ExprValidationContext validationContext) |
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
accept, accept, acceptChildnodes, addChildNode, addChildNodes, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
public ExprVariableNodeImpl(VariableMetaData variableMetaData, String optSubPropName)
public boolean isConstantValue()
isConstantValue
in interface ExprConstantNode
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprNode
public String getVariableName()
getVariableName
in interface ExprVariableNode
public Object getConstantValue(ExprEvaluatorContext context)
getConstantValue
in interface ExprConstantNode
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public Class getConstantType()
getConstantType
in interface ExprConstantNode
public Class getType()
ExprEvaluator
getType
in interface ExprEvaluator
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 void toPrecedenceFreeEPL(StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
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 String getVariableNameWithSubProp()
getVariableNameWithSubProp
in interface ExprVariableNode