|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.esper.eql.expression.ExprNode
net.esper.eql.expression.ExprCaseNode
public class ExprCaseNode
Represents the case-when-then-else control flow function is an expression tree.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class net.esper.eql.expression.ExprNode |
---|
ExprNode.MappedPropertyParseResult |
Constructor Summary | |
---|---|
ExprCaseNode(boolean isCase2)
Ctor. |
Method Summary | |
---|---|
boolean |
equalsNode(ExprNode node_)
Return true if a expression node semantically equals the current node, or false if not. |
Object |
evaluate(EventBean[] eventsPerStream,
boolean isNewData)
Evaluate event tuple and return result. |
Class |
getType()
Returns the type that the node's evaluate method returns an instance of. |
boolean |
isCase2()
Returns true if this is a switch-type case. |
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. |
String |
toExpressionString()
Returns the expression node rendered as a string. |
void |
validate(StreamTypeService streamTypeService_,
MethodResolutionService methodResolutionService,
ViewResourceDelegate viewResourceDelegate,
TimeProvider timeProvider)
Validate node. |
Methods inherited from class net.esper.eql.expression.ExprNode |
---|
accept, addChildNode, deepEquals, dumpDebug, getChildNodes, getValidatedSubtree, parseMappedProperty |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
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".
Method Detail |
---|
public boolean isCase2()
public void validate(StreamTypeService streamTypeService_, MethodResolutionService methodResolutionService, ViewResourceDelegate viewResourceDelegate, TimeProvider timeProvider) throws ExprValidationException
ExprValidator
streamTypeService_
- serves stream event type infomethodResolutionService
- - for resolving class names in library method invocationsviewResourceDelegate
- - delegates for view resources to expression nodestimeProvider
- - provides engine current time
ExprValidationException
- thrown when validation failedpublic boolean isConstantResult()
ExprNode
isConstantResult
in class ExprNode
public Class getType()
ExprValidator
public Object evaluate(EventBean[] eventsPerStream, boolean isNewData)
ExprEvaluator
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)
public boolean equalsNode(ExprNode node_)
ExprNode
Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
equalsNode
in class ExprNode
node_
- to compare to
public String toExpressionString()
ExprNode
toExpressionString
in class ExprNode
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |