Class ExprCaseNode
java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.funcs.ExprCaseNode
- All Implemented Interfaces:
ExprNode
,ExprNodeRenderable
,ExprValidator
Represents the case-when-then-else control flow function is an expression tree.
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
equalsNode
(ExprNode node, boolean ignoreStreamPrefix) Return true if a expression node semantically equals the current node, or false if not.getForge()
Returns precedence.boolean
isCase2()
Returns true if this is a switch-type case.boolean
void
toPrecedenceFreeEPL
(StringWriter writer, ExprNodeRenderableFlags flags) 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
-
ExprCaseNode
public ExprCaseNode(boolean isCase2) Ctor.- Parameters:
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".
-
-
Method Details
-
getExprEvaluator
-
getForge
-
isCase2
public boolean isCase2()Returns true if this is a switch-type case.- Returns:
- true for switch-type case, or false for when-then type
-
validate
- Throws:
ExprValidationException
-
isConstantResult
public boolean isConstantResult() -
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.
- 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
-
toPrecedenceFreeEPL
- Specified by:
toPrecedenceFreeEPL
in classExprNodeBase
-
getPrecedence
Description copied from interface:ExprNode
Returns precedence.- Returns:
- precedence
-