public class ExprCaseNode extends ExprNodeBase
Modifier and Type | Class and Description |
---|---|
static class |
ExprCaseNode.CaseAnalysis |
Constructor and Description |
---|
ExprCaseNode(boolean isCase2)
Ctor.
|
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.
|
ExprEvaluator |
getExprEvaluator() |
ExprForge |
getForge() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
boolean |
isCase2()
Returns true if this is a switch-type case.
|
boolean |
isConstantResult() |
void |
toPrecedenceFreeEPL(StringWriter writer) |
ExprNode |
validate(ExprValidationContext validationContext) |
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, checkValidated, checkValidatedException, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
public ExprCaseNode(boolean isCase2)
isCase2
- is an indicator of which Case statement we are working on.
True indicates a 'Case2' statement with syntax "case a when a1 then b1 else b2".
False indicates a 'Case1' statement with syntax "case when a=a1 then b1 else b2".
public ExprEvaluator getExprEvaluator()
public ExprForge getForge()
public boolean isCase2()
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public boolean isConstantResult()
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.
node
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic void toPrecedenceFreeEPL(StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
Copyright © 2005–2018. All rights reserved.