com.espertech.esper.epl.expression
Class ExprSubselectInNode

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

public class ExprSubselectInNode
extends ExprSubselectNode

Represents a subselect in an expression tree.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.espertech.esper.epl.expression.ExprSubselectNode
EMPTY_SUBSELECT_ARRAY, filterExpr, rawEventType, selectAsNames, selectClause, selectClauseEvaluator, statementName, subselectNumber
 
Constructor Summary
ExprSubselectInNode(StatementSpecRaw statementSpec)
          Ctor.
 
Method Summary
 java.lang.Object evaluate(EventBean[] eventsPerStream, boolean isNewData, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
          Evaluate the lookup expression returning an evaluation result object.
 java.util.Collection<EventBean> evaluateGetCollEvents(EventBean[] eventsPerStream, boolean isNewData, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext context)
           
 java.util.Collection evaluateGetCollScalar(EventBean[] eventsPerStream, boolean isNewData, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
           
 EventBean evaluateGetEventBean(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
           
 java.lang.Class getComponentTypeCollection()
           
 java.util.Map<java.lang.String,java.lang.Object> getEventType()
           
 EventType getEventTypeCollection(EventAdapterService eventAdapterService)
           
 EventType getEventTypeSingle(EventAdapterService eventAdapterService, java.lang.String statementId)
           
 java.lang.Class getType()
          Returns the type that the node's evaluate method returns an instance of.
 boolean isAllowMultiColumnSelect()
           
 boolean isNotIn()
          Returns true for not-in, or false for in.
 void setNotIn(boolean notIn)
          Indicate that this is a not-in lookup.
 void validateSubquery(ExprValidationContext validationContext)
           
 
Methods inherited from class com.espertech.esper.epl.expression.ExprSubselectNode
equalsNode, evaluate, evaluateGetROCollectionEvents, evaluateGetROCollectionScalar, getExprEvaluator, getFilterExpr, getFilterSubqueryStreamTypes, getRawEventType, getSelectClause, getStatementSpecCompiled, getStatementSpecRaw, getSubselectNumber, isAggregatedSubquery, isConstantResult, isFilterStreamSubselect, setAggregatedSubquery, setFilterExpr, setFilterStreamSubselect, setFilterSubqueryStreamTypes, setRawEventType, setSelectAsNames, setSelectClause, setStatementSpecCompiled, setStrategy, toArray, toExpressionString, validate
 
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
 

Constructor Detail

ExprSubselectInNode

public ExprSubselectInNode(StatementSpecRaw statementSpec)
Ctor.

Parameters:
statementSpec - is the lookup statement spec from the parser, unvalidated
Method Detail

getType

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

Returns:
type returned when evaluated

setNotIn

public void setNotIn(boolean notIn)
Indicate that this is a not-in lookup.

Parameters:
notIn - is true for not-in, or false for regular 'in'

isNotIn

public boolean isNotIn()
Returns true for not-in, or false for in.

Returns:
true for not-in

validateSubquery

public void validateSubquery(ExprValidationContext validationContext)
                      throws ExprValidationException
Specified by:
validateSubquery in class ExprSubselectNode
Throws:
ExprValidationException

evaluate

public java.lang.Object evaluate(EventBean[] eventsPerStream,
                                 boolean isNewData,
                                 java.util.Collection<EventBean> matchingEvents,
                                 ExprEvaluatorContext exprEvaluatorContext)
Description copied from class: ExprSubselectNode
Evaluate the lookup expression returning an evaluation result object.

Specified by:
evaluate in class ExprSubselectNode
Parameters:
eventsPerStream - is the events for each stream in a join
isNewData - is true for new data, or false for old data
matchingEvents - is filtered results from the table of stored lookup events
exprEvaluatorContext - context for expression evalauation
Returns:
evaluation result

getEventType

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

evaluateGetCollEvents

public java.util.Collection<EventBean> evaluateGetCollEvents(EventBean[] eventsPerStream,
                                                             boolean isNewData,
                                                             java.util.Collection<EventBean> matchingEvents,
                                                             ExprEvaluatorContext context)
Specified by:
evaluateGetCollEvents in class ExprSubselectNode

getEventTypeCollection

public EventType getEventTypeCollection(EventAdapterService eventAdapterService)

getComponentTypeCollection

public java.lang.Class getComponentTypeCollection()
                                           throws ExprValidationException
Throws:
ExprValidationException

evaluateGetCollScalar

public java.util.Collection evaluateGetCollScalar(EventBean[] eventsPerStream,
                                                  boolean isNewData,
                                                  java.util.Collection<EventBean> matchingEvents,
                                                  ExprEvaluatorContext exprEvaluatorContext)
Specified by:
evaluateGetCollScalar in class ExprSubselectNode

isAllowMultiColumnSelect

public boolean isAllowMultiColumnSelect()
Specified by:
isAllowMultiColumnSelect in class ExprSubselectNode

getEventTypeSingle

public EventType getEventTypeSingle(EventAdapterService eventAdapterService,
                                    java.lang.String statementId)
                             throws ExprValidationException
Throws:
ExprValidationException

evaluateGetEventBean

public EventBean evaluateGetEventBean(EventBean[] eventsPerStream,
                                      boolean isNewData,
                                      ExprEvaluatorContext context)

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