com.espertech.esper.epl.expression
Class ExprDotNode

java.lang.Object
  extended by com.espertech.esper.epl.expression.ExprNodeBase
      extended by com.espertech.esper.epl.expression.ExprDotNode
All Implemented Interfaces:
ExprNode, ExprNodeInnerNodeProvider, ExprValidator, MetaDefItem, java.io.Serializable

public class ExprDotNode
extends ExprNodeBase
implements ExprNodeInnerNodeProvider

Represents an Dot-operator expression, for use when "(expression).method(...).method(...)"

See Also:
Serialized Form

Nested Class Summary
static class ExprDotNode.EnumerationSource
           
 
Constructor Summary
ExprDotNode(java.util.List<ExprChainedSpec> chainSpec, boolean isDuckTyping, boolean isUDFCache)
           
 
Method Summary
 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()
           
static ExprDotNode.EnumerationSource getPropertyEnumerationSource(java.lang.String propertyName, int streamId, EventType streamType, boolean hasEnumerationMethod, boolean disablePropertyExpressionEventCollCache)
           
 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)
           
 java.lang.String toExpressionString()
          Returns the expression node rendered as a string.
 void validate(ExprValidationContext validationContext)
           
 
Methods inherited from class com.espertech.esper.epl.expression.ExprNodeBase
addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, setChildNode, setChildNodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprDotNode

public ExprDotNode(java.util.List<ExprChainedSpec> chainSpec,
                   boolean isDuckTyping,
                   boolean isUDFCache)
Method Detail

validate

public void validate(ExprValidationContext validationContext)
              throws ExprValidationException
Specified by:
validate in interface ExprValidator
Throws:
ExprValidationException

getExprDotNodeFilterAnalyzerDesc

public ExprDotNodeFilterAnalyzerDesc getExprDotNodeFilterAnalyzerDesc()

accept

public void accept(ExprNodeVisitor visitor)
Description copied from interface: ExprNode
Accept the visitor. The visitor will first visit the parent then visit all child nodes, then their child nodes.

The visitor can decide to skip child nodes by returning false in isVisit.

Specified by:
accept in interface ExprNode
Overrides:
accept in class ExprNodeBase
Parameters:
visitor - to visit each node and each child node.

accept

public void accept(ExprNodeVisitorWithParent visitor)
Description copied from interface: ExprNode
Accept the visitor. The visitor will first visit the parent then visit all child nodes, then their child nodes.

The visitor can decide to skip child nodes by returning false in isVisit.

Specified by:
accept in interface ExprNode
Overrides:
accept in class ExprNodeBase
Parameters:
visitor - to visit each node and each child node.

acceptChildnodes

public void acceptChildnodes(ExprNodeVisitorWithParent visitor,
                             ExprNode parent)
Description copied from interface: ExprNode
Accept a visitor that receives both parent and child node.

Specified by:
acceptChildnodes in interface ExprNode
Overrides:
acceptChildnodes in class ExprNodeBase
Parameters:
visitor - to apply
parent - node

replaceUnlistedChildNode

public void replaceUnlistedChildNode(ExprNode nodeToReplace,
                                     ExprNode newNode)
Specified by:
replaceUnlistedChildNode in interface ExprNode
Overrides:
replaceUnlistedChildNode in class ExprNodeBase

getChainSpec

public java.util.List<ExprChainedSpec> getChainSpec()

getExprEvaluator

public ExprEvaluator getExprEvaluator()
Specified by:
getExprEvaluator in interface ExprNode

isConstantResult

public boolean isConstantResult()
Description copied from interface: ExprNode
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.

Specified by:
isConstantResult in interface ExprNode
Returns:
true for constant evaluation value, false for non-constant evaluation value

toExpressionString

public java.lang.String toExpressionString()
Description copied from interface: ExprNode
Returns the expression node rendered as a string.

Specified by:
toExpressionString in interface ExprNode
Returns:
string rendering of expression

getEventType

public java.util.Map<java.lang.String,java.lang.Object> getEventType()

equalsNode

public boolean equalsNode(ExprNode node)
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.

Specified by:
equalsNode in interface ExprNode
Parameters:
node - to compare to
Returns:
true if semantically equal, or false if not equals

getAdditionalNodes

public java.util.List<ExprNode> getAdditionalNodes()
Specified by:
getAdditionalNodes in interface ExprNodeInnerNodeProvider

getEnumerationSource

public static ExprDotNode.EnumerationSource getEnumerationSource(ExprNode inputExpression,
                                                                 StreamTypeService streamTypeService,
                                                                 EventAdapterService eventAdapterService,
                                                                 java.lang.String statementId,
                                                                 boolean hasEnumerationMethod,
                                                                 boolean disablePropertyExpressionEventCollCache)
                                                          throws ExprValidationException
Throws:
ExprValidationException

getPropertyEnumerationSource

public static ExprDotNode.EnumerationSource getPropertyEnumerationSource(java.lang.String propertyName,
                                                                         int streamId,
                                                                         EventType streamType,
                                                                         boolean hasEnumerationMethod,
                                                                         boolean disablePropertyExpressionEventCollCache)

© 2006-2014 EsperTech Inc.
All rights reserved.
Visit us at espertech.com