public class ExprDotNode extends ExprNodeBase implements ExprNodeInnerNodeProvider, ExprStreamRefNode
Modifier and Type | Class and Description |
---|---|
static class |
ExprDotNode.EnumerationSource |
Constructor and Description |
---|
ExprDotNode(java.util.List<ExprChainedSpec> chainSpec,
boolean isDuckTyping,
boolean isUDFCache) |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExprNodeVisitor visitor)
Accept the visitor.
|
void |
accept(ExprNodeVisitorWithParent visitor)
Accept the visitor.
|
void |
acceptChildnodes(ExprNodeVisitorWithParent visitor,
ExprNode parent)
Accept a visitor that receives both parent and child node.
|
boolean |
equalsNode(ExprNode node)
Return true if a expression node semantically equals the current node, or false if not.
|
java.util.List<ExprNode> |
getAdditionalNodes() |
java.util.List<ExprChainedSpec> |
getChainSpec() |
static ExprDotNode.EnumerationSource |
getEnumerationSource(ExprNode inputExpression,
StreamTypeService streamTypeService,
EventAdapterService eventAdapterService,
java.lang.String statementId,
boolean hasEnumerationMethod,
boolean disablePropertyExpressionEventCollCache) |
java.util.Map<java.lang.String,java.lang.Object> |
getEventType() |
ExprDotNodeFilterAnalyzerDesc |
getExprDotNodeFilterAnalyzerDesc() |
ExprEvaluator |
getExprEvaluator() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
static ExprDotNode.EnumerationSource |
getPropertyEnumerationSource(java.lang.String propertyName,
int streamId,
EventType streamType,
boolean hasEnumerationMethod,
boolean disablePropertyExpressionEventCollCache) |
java.lang.String |
getRootPropertyNameIfAny() |
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 |
replaceUnlistedChildNode(ExprNode nodeToReplace,
ExprNode newNode) |
void |
toPrecedenceFreeEPL(java.io.StringWriter writer) |
void |
validate(ExprValidationContext validationContext) |
addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, setChildNode, setChildNodes, toEPL
public ExprDotNode(java.util.List<ExprChainedSpec> chainSpec, boolean isDuckTyping, boolean isUDFCache)
public java.lang.Integer getStreamReferencedIfAny()
getStreamReferencedIfAny
in interface ExprStreamRefNode
public java.lang.String getRootPropertyNameIfAny()
getRootPropertyNameIfAny
in interface ExprStreamRefNode
public void validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public ExprDotNodeFilterAnalyzerDesc getExprDotNodeFilterAnalyzerDesc()
public void accept(ExprNodeVisitor visitor)
ExprNode
The visitor can decide to skip child nodes by returning false in isVisit.
accept
in interface ExprNode
accept
in class ExprNodeBase
visitor
- to visit each node and each child node.public void accept(ExprNodeVisitorWithParent visitor)
ExprNode
The visitor can decide to skip child nodes by returning false in isVisit.
accept
in interface ExprNode
accept
in class ExprNodeBase
visitor
- to visit each node and each child node.public void acceptChildnodes(ExprNodeVisitorWithParent visitor, ExprNode parent)
ExprNode
acceptChildnodes
in interface ExprNode
acceptChildnodes
in class ExprNodeBase
visitor
- to applyparent
- nodepublic void replaceUnlistedChildNode(ExprNode nodeToReplace, ExprNode newNode)
replaceUnlistedChildNode
in interface ExprNode
replaceUnlistedChildNode
in class ExprNodeBase
public java.util.List<ExprChainedSpec> getChainSpec()
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprNode
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
public void toPrecedenceFreeEPL(java.io.StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode
public java.util.Map<java.lang.String,java.lang.Object> getEventType()
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 interface ExprNode
node
- to compare topublic java.util.List<ExprNode> getAdditionalNodes()
getAdditionalNodes
in interface ExprNodeInnerNodeProvider
public static ExprDotNode.EnumerationSource getEnumerationSource(ExprNode inputExpression, StreamTypeService streamTypeService, EventAdapterService eventAdapterService, java.lang.String statementId, boolean hasEnumerationMethod, boolean disablePropertyExpressionEventCollCache) throws ExprValidationException
ExprValidationException
public static ExprDotNode.EnumerationSource getPropertyEnumerationSource(java.lang.String propertyName, int streamId, EventType streamType, boolean hasEnumerationMethod, boolean disablePropertyExpressionEventCollCache)