com.espertech.esper.epl.expression
Class ExprStreamUnderlyingNode

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

public class ExprStreamUnderlyingNode
extends ExprNode

Represents an stream selector that returns the streams underlying event, or null if undefined.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.espertech.esper.epl.expression.ExprNode
ExprNode.MappedPropertyParseResult
 
Constructor Summary
ExprStreamUnderlyingNode(String streamName)
          Ctor.
 
Method Summary
 boolean equalsNode(ExprNode node)
          Return true if a expression node semantically equals the current node, or false if not.
 Object evaluate(EventBean[] eventsPerStream, boolean isNewData)
          Evaluate event tuple and return result.
 int getStreamId()
          Returns stream id supplying the property value.
 String getStreamName()
          Returns the stream name.
 Class getType()
          Returns the type that the node's evaluate method returns an instance of.
 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.
 String toExpressionString()
          Returns the expression node rendered as a string.
 String toString()
           
 void validate(StreamTypeService streamTypeService, MethodResolutionService methodResolutionService, ViewResourceDelegate viewResourceDelegate, TimeProvider timeProvider, VariableService variableService)
          Validate node.
 
Methods inherited from class com.espertech.esper.epl.expression.ExprNode
accept, addChildNode, deepEquals, dumpDebug, getChildNodes, getValidatedSubtree, parseMappedProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExprStreamUnderlyingNode

public ExprStreamUnderlyingNode(String streamName)
Ctor.

Parameters:
streamName - is the name of the stream for which to return the underlying event
Method Detail

getStreamName

public String getStreamName()
Returns the stream name.

Returns:
stream name

validate

public void validate(StreamTypeService streamTypeService,
                     MethodResolutionService methodResolutionService,
                     ViewResourceDelegate viewResourceDelegate,
                     TimeProvider timeProvider,
                     VariableService variableService)
              throws ExprValidationException
Description copied from interface: ExprValidator
Validate node.

Parameters:
streamTypeService - serves stream event type info
methodResolutionService - - for resolving class names in library method invocations
viewResourceDelegate - - delegates for view resources to expression nodes
timeProvider - - provides engine current time
variableService - - provides access to variable values
Throws:
ExprValidationException - thrown when validation failed

getType

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

Returns:
type returned when evaluated
Throws:
ExprValidationException - thrown when validation failed

isConstantResult

public boolean isConstantResult()
Description copied from class: 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 class ExprNode
Returns:
true for constant evaluation value, false for non-constant evaluation value

getStreamId

public int getStreamId()
Returns stream id supplying the property value.

Returns:
stream number

toString

public String toString()
Overrides:
toString in class Object

evaluate

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

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

toExpressionString

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

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

equalsNode

public boolean equalsNode(ExprNode node)
Description copied from class: 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 class ExprNode
Parameters:
node - to compare to
Returns:
true if semantically equal, or false if not equals

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com