public class ExprStreamUnderlyingNodeImpl extends ExprNodeBase implements ExprForge, ExprEvaluator, ExprStreamUnderlyingNode
Constructor and Description |
---|
ExprStreamUnderlyingNodeImpl(java.lang.String streamName,
boolean isWildcard) |
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.
|
java.lang.Object |
evaluate(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Evaluate event tuple and return result.
|
CodegenExpression |
evaluateCodegen(java.lang.Class requiredType,
CodegenMethodScope codegenMethodScope,
ExprForgeCodegenSymbol exprSymbol,
CodegenClassScope codegenClassScope) |
ExprForgeComplexityEnum |
getComplexity() |
java.lang.Class |
getEvaluationType() |
EventType |
getEventType() |
ExprEvaluator |
getExprEvaluator() |
ExprForge |
getForge() |
ExprNode |
getForgeRenderable() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
java.lang.String |
getRootPropertyNameIfAny() |
int |
getStreamId()
Returns stream id supplying the property value.
|
java.lang.String |
getStreamName()
Returns the stream name.
|
java.lang.Integer |
getStreamReferencedIfAny() |
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 |
toPrecedenceFreeEPL(java.io.StringWriter writer) |
java.lang.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 ExprStreamUnderlyingNodeImpl(java.lang.String streamName, boolean isWildcard)
public java.lang.Class getEvaluationType()
getEvaluationType
in interface ExprForge
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprForge
public ExprNode getForgeRenderable()
getForgeRenderable
in interface ExprForge
public java.lang.String getStreamName()
public java.lang.Integer getStreamReferencedIfAny()
getStreamReferencedIfAny
in interface ExprStreamRefNode
public java.lang.String getRootPropertyNameIfAny()
getRootPropertyNameIfAny
in interface ExprStreamRefNode
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
public int getStreamId()
getStreamId
in interface ExprStreamUnderlyingNode
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.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
public CodegenExpression evaluateCodegen(java.lang.Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
evaluateCodegen
in interface ExprForge
public void toPrecedenceFreeEPL(java.io.StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode
public EventType getEventType()
getEventType
in interface ExprStreamUnderlyingNode
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 properties