com.espertech.esper.epl.expression.subquery
Class ExprSubselectInNode

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

public class ExprSubselectInNode
extends ExprSubselectNode

Represents a subselect in an expression tree.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.espertech.esper.epl.expression.subquery.ExprSubselectNode
ExprSubselectNode.SubqueryAggregationType
 
Field Summary
 
Fields inherited from class com.espertech.esper.epl.expression.subquery.ExprSubselectNode
EMPTY_SUBSELECT_ARRAY, filterExpr, rawEventType, selectAsNames, selectClause, selectClauseEvaluator, statementName, subselectAggregationService, subselectNumber
 
Constructor Summary
ExprSubselectInNode(StatementSpecRaw statementSpec, boolean isNotIn)
          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, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
           
 EventBean evaluateGetEventBean(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
           
 java.lang.Object[][] evaluateTypableMulti(EventBean[] eventsPerStream, boolean isNewData, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
           
 java.lang.Object[] evaluateTypableSingle(EventBean[] eventsPerStream, boolean isNewData, java.util.Collection<EventBean> matchingEvents, ExprEvaluatorContext exprEvaluatorContext)
           
 java.lang.Class getComponentTypeCollection()
           
 EventType getEventTypeCollection(EventAdapterService eventAdapterService, java.lang.String statementId)
           
 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.
 java.util.LinkedHashMap<java.lang.String,java.lang.Object> typableGetRowProperties()
           
 void validateSubquery(ExprValidationContext validationContext)
           
 
Methods inherited from class com.espertech.esper.epl.expression.subquery.ExprSubselectNode
equalsNode, evaluate, evaluateGetROCollectionEvents, evaluateGetROCollectionScalar, evaluateTypableMulti, evaluateTypableSingle, getExprEvaluator, getFilterExpr, getFilterSubqueryStreamTypes, getPrecedence, getRawEventType, getRowProperties, getSelectClause, getStatementSpecCompiled, getStatementSpecRaw, getSubselectAggregationService, getSubselectAggregationType, getSubselectNumber, isConstantResult, isFilterStreamSubselect, isMultirow, setFilterExpr, setFilterStreamSubselect, setFilterSubqueryStreamTypes, setRawEventType, setSelectAsNames, setSelectClause, setStatementSpecCompiled, setStrategy, setSubselectAggregationService, setSubselectAggregationType, toArray, toPrecedenceFreeEPL, validate
 
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
 

Constructor Detail

ExprSubselectInNode

public ExprSubselectInNode(StatementSpecRaw statementSpec,
                           boolean isNotIn)
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

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

typableGetRowProperties

public java.util.LinkedHashMap<java.lang.String,java.lang.Object> typableGetRowProperties()
Specified by:
typableGetRowProperties in class ExprSubselectNode

evaluateTypableSingle

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

evaluateTypableMulti

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

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,
                                        java.lang.String statementId)

getComponentTypeCollection

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

evaluateGetEventBean

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

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)
Specified by:
evaluateGetEventBean in interface ExprEvaluatorEnumeration
Overrides:
evaluateGetEventBean in class ExprSubselectNode

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