com.espertech.esper.epl.expression
Class ExprConstantNodeImpl

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

public class ExprConstantNodeImpl
extends ExprNodeBase
implements ExprConstantNode, ExprEvaluator

Represents a constant in an expressiun tree.

See Also:
Serialized Form

Constructor Summary
ExprConstantNodeImpl(java.lang.Class clazz)
          Ctor - for use when the constant should return a given type and the actual value is always null.
ExprConstantNodeImpl(java.lang.Object value)
          Ctor.
ExprConstantNodeImpl(java.lang.Object value, java.lang.Class valueType)
          Ctor.
 
Method Summary
 boolean equalsNode(ExprNode node)
          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.
 java.util.Map<java.lang.String,java.lang.Object> getEventType()
           
 ExprEvaluator getExprEvaluator()
           
 java.lang.Class getType()
          Returns the type that the node's evaluate method returns an instance of.
 java.lang.Object getValue()
          Returns the constant's value.
 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 isConstantValue()
           
 void setValue(java.lang.Object value)
          Sets the value of the constant.
 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
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes
 
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.ExprNode
accept, accept, acceptChildnodes, addChildNode, addChildNodes, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes
 

Constructor Detail

ExprConstantNodeImpl

public ExprConstantNodeImpl(java.lang.Object value)
Ctor.

Parameters:
value - is the constant's value.

ExprConstantNodeImpl

public ExprConstantNodeImpl(java.lang.Object value,
                            java.lang.Class valueType)
Ctor.

Parameters:
value - is the constant's value.
valueType - is the constant's value type.

ExprConstantNodeImpl

public ExprConstantNodeImpl(java.lang.Class clazz)
Ctor - for use when the constant should return a given type and the actual value is always null.

Parameters:
clazz - the type of the constant null.
Method Detail

isConstantValue

public boolean isConstantValue()
Specified by:
isConstantValue in interface ExprConstantNode

validate

public void 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()
Specified by:
getEventType in interface ExprEvaluator

getValue

public java.lang.Object getValue()
Returns the constant's value.

Specified by:
getValue in interface ExprConstantNode
Returns:
value of constant

setValue

public void setValue(java.lang.Object value)
Sets the value of the constant.

Parameters:
value - to set

getType

public java.lang.Class getType()
Description copied from interface: ExprEvaluator
Returns the type that the node's evaluate method returns an instance of.

Specified by:
getType in interface ExprConstantNode
Specified by:
getType in interface ExprEvaluator
Returns:
type returned when evaluated

evaluate

public java.lang.Object evaluate(EventBean[] eventsPerStream,
                                 boolean isNewData,
                                 ExprEvaluatorContext exprEvaluatorContext)
Description copied from interface: ExprEvaluator
Evaluate event tuple and return result.

Specified by:
evaluate in interface ExprEvaluator
Parameters:
eventsPerStream - - event tuple
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
exprEvaluatorContext - context for expression evaluation
Returns:
evaluation result, a boolean value for OR/AND-type evalution nodes.

getExprEvaluator

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

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

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-2011 EsperTech Inc.
All rights reserved.
Visit us at espertech.com