com.espertech.esper.epl.expression.ops
Class ExprEqualsNodeImpl

java.lang.Object
  extended by com.espertech.esper.epl.expression.core.ExprNodeBase
      extended by com.espertech.esper.epl.expression.ops.ExprEqualsNodeImpl
All Implemented Interfaces:
ExprNode, ExprValidator, ExprEqualsNode, MetaDefItem, java.io.Serializable

public class ExprEqualsNodeImpl
extends ExprNodeBase
implements ExprEqualsNode

Represents an equals (=) comparator in a filter expressiun tree.

See Also:
Serialized Form

Nested Class Summary
static class ExprEqualsNodeImpl.ExprEqualsEvaluatorCoercing
           
static class ExprEqualsNodeImpl.ExprEqualsEvaluatorEquals
           
static class ExprEqualsNodeImpl.ExprEqualsEvaluatorIs
           
 
Constructor Summary
ExprEqualsNodeImpl(boolean isNotEquals, boolean isIs)
          Ctor.
 
Method Summary
 boolean equalsNode(ExprNode node)
          Return true if a expression node semantically equals the current node, or false if not.
 java.util.Map<java.lang.String,java.lang.Object> getEventType()
           
 ExprEvaluator getExprEvaluator()
           
 ExprPrecedenceEnum getPrecedence()
          Returns precedence.
 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.
 boolean isIs()
          Returns true if this is a "IS" or "IS NOT" node, false if this is a EQUALS or NOT EQUALS node.
 boolean isNotEquals()
          Returns true if this is a NOT EQUALS node, false if this is a EQUALS node.
 void toPrecedenceFreeEPL(java.io.StringWriter writer)
           
 ExprNode validate(ExprValidationContext validationContext)
           
 
Methods inherited from class com.espertech.esper.epl.expression.core.ExprNodeBase
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.espertech.esper.epl.expression.core.ExprNode
accept, accept, acceptChildnodes, addChildNode, addChildNodes, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
 

Constructor Detail

ExprEqualsNodeImpl

public ExprEqualsNodeImpl(boolean isNotEquals,
                          boolean isIs)
Ctor.

Parameters:
isNotEquals - - true if this is a (!=) not equals rather then equals, false if its a '=' equals
isIs - - true when "is" or "is not" (instead of = or <>)
Method Detail

getExprEvaluator

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

isNotEquals

public boolean isNotEquals()
Description copied from interface: ExprEqualsNode
Returns true if this is a NOT EQUALS node, false if this is a EQUALS node.

Specified by:
isNotEquals in interface ExprEqualsNode
Returns:
true for !=, false for =

isIs

public boolean isIs()
Description copied from interface: ExprEqualsNode
Returns true if this is a "IS" or "IS NOT" node, false if this is a EQUALS or NOT EQUALS node.

Specified by:
isIs in interface ExprEqualsNode
Returns:
true for !=, false for =

validate

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

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

getEventType

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

toPrecedenceFreeEPL

public void toPrecedenceFreeEPL(java.io.StringWriter writer)
Specified by:
toPrecedenceFreeEPL in class ExprNodeBase

getPrecedence

public ExprPrecedenceEnum getPrecedence()
Description copied from interface: ExprNode
Returns precedence.

Specified by:
getPrecedence in interface ExprNode
Returns:
precedence

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

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