com.espertech.esper.epl.core
Class ResultSetProcessorSimple

java.lang.Object
  extended by com.espertech.esper.epl.core.ResultSetProcessorBaseSimple
      extended by com.espertech.esper.epl.core.ResultSetProcessorSimple
All Implemented Interfaces:
ResultSetProcessor

public class ResultSetProcessorSimple
extends ResultSetProcessorBaseSimple

Result set processor for the simplest case: no aggregation functions used in the select clause, and no group-by.

The processor generates one row for each event entering (new event) and one row for each event leaving (old event).


Constructor Summary
ResultSetProcessorSimple(ResultSetProcessorSimpleFactory prototype, SelectExprProcessor selectExprProcessor, OrderByProcessor orderByProcessor, ExprEvaluatorContext exprEvaluatorContext)
           
 
Method Summary
 void clear()
          Clear out current state.
 java.util.Iterator<EventBean> getIterator(java.util.Set<MultiKey<EventBean>> joinSet)
          Returns the iterator for iterating over a join-result.
 java.util.Iterator<EventBean> getIterator(Viewable parent)
          Returns the iterator implementing the group-by and aggregation and order-by logic specific to each case of use of these construct.
 EventType getResultEventType()
          Returns the event type of processed results.
protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor, EventBean[] events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, EventBean[] events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static void getSelectEventsHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, EventBean[] events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, java.util.List<EventBean> result, java.util.List<java.lang.Object> optSortKeys, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, java.util.Set<MultiKey<EventBean>> events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static void getSelectEventsHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, java.util.Set<MultiKey<EventBean>> events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, java.util.List<EventBean> result, java.util.List<java.lang.Object> optSortKeys, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor, java.util.Set<MultiKey<EventBean>> events, ExprEvaluator optionalHavingNode, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor, EventBean[] events, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, EventBean[] events, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static void getSelectEventsNoHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, EventBean[] events, boolean isNewData, boolean isSynthesize, java.util.List<EventBean> result, java.util.List<java.lang.Object> optSortKeys, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, java.util.Set<MultiKey<EventBean>> events, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static void getSelectEventsNoHaving(SelectExprProcessor exprProcessor, OrderByProcessor orderByProcessor, java.util.Set<MultiKey<EventBean>> events, boolean isNewData, boolean isSynthesize, java.util.List<EventBean> result, java.util.List<java.lang.Object> optSortKeys, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor, java.util.Set<MultiKey<EventBean>> events, boolean isNewData, boolean isSynthesize, ExprEvaluatorContext exprEvaluatorContext)
          Applies the select-clause to the given events returning the selected events.
 boolean hasAggregation()
           
 UniformPair<EventBean[]> processJoinResult(java.util.Set<MultiKey<EventBean>> newEvents, java.util.Set<MultiKey<EventBean>> oldEvents, boolean isSynthesize)
          For use by joins posting their result, process the event rows that are entered and removed (new and old events).
 UniformPair<EventBean[]> processViewResult(EventBean[] newData, EventBean[] oldData, boolean isSynthesize)
          For use by views posting their result, process the event rows that are entered and removed (new and old events).
 UniformPair<EventBean[]> processViewResultIterator(EventBean[] newData)
          Process view results for the iterator.
 void setAgentInstanceContext(AgentInstanceContext context)
           
 
Methods inherited from class com.espertech.esper.epl.core.ResultSetProcessorBaseSimple
processOutputLimitedJoin, processOutputLimitedView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResultSetProcessorSimple

public ResultSetProcessorSimple(ResultSetProcessorSimpleFactory prototype,
                                SelectExprProcessor selectExprProcessor,
                                OrderByProcessor orderByProcessor,
                                ExprEvaluatorContext exprEvaluatorContext)
Method Detail

setAgentInstanceContext

public void setAgentInstanceContext(AgentInstanceContext context)

getResultEventType

public EventType getResultEventType()
Description copied from interface: ResultSetProcessor
Returns the event type of processed results.

Returns:
event type of the resulting events posted by the processor.

processJoinResult

public UniformPair<EventBean[]> processJoinResult(java.util.Set<MultiKey<EventBean>> newEvents,
                                                  java.util.Set<MultiKey<EventBean>> oldEvents,
                                                  boolean isSynthesize)
Description copied from interface: ResultSetProcessor
For use by joins posting their result, process the event rows that are entered and removed (new and old events). Processes according to select-clauses, group-by clauses and having-clauses and returns new events and old events as specified.

Parameters:
newEvents - - new events posted by join
oldEvents - - old events posted by join
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
Returns:
pair of new events and old events

processViewResult

public UniformPair<EventBean[]> processViewResult(EventBean[] newData,
                                                  EventBean[] oldData,
                                                  boolean isSynthesize)
Description copied from interface: ResultSetProcessor
For use by views posting their result, process the event rows that are entered and removed (new and old events). Processes according to select-clauses, group-by clauses and having-clauses and returns new events and old events as specified.

Parameters:
newData - - new events posted by view
oldData - - old events posted by view
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
Returns:
pair of new events and old events

processViewResultIterator

public UniformPair<EventBean[]> processViewResultIterator(EventBean[] newData)
Process view results for the iterator.

Parameters:
newData - new events
Returns:
pair of insert and remove stream

getSelectEventsNoHaving

protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                                     OrderByProcessor orderByProcessor,
                                                     EventBean[] events,
                                                     boolean isNewData,
                                                     boolean isSynthesize,
                                                     ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - orders the outgoing events according to the order-by clause
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getSelectEventsNoHaving

protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                                     OrderByProcessor orderByProcessor,
                                                     java.util.Set<MultiKey<EventBean>> events,
                                                     boolean isNewData,
                                                     boolean isSynthesize,
                                                     ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getSelectEventsHaving

protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                                   OrderByProcessor orderByProcessor,
                                                   EventBean[] events,
                                                   ExprEvaluator optionalHavingNode,
                                                   boolean isNewData,
                                                   boolean isSynthesize,
                                                   ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getSelectEventsHaving

protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                                   OrderByProcessor orderByProcessor,
                                                   java.util.Set<MultiKey<EventBean>> events,
                                                   ExprEvaluator optionalHavingNode,
                                                   boolean isNewData,
                                                   boolean isSynthesize,
                                                   ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getIterator

public java.util.Iterator<EventBean> getIterator(Viewable parent)
Description copied from interface: ResultSetProcessor
Returns the iterator implementing the group-by and aggregation and order-by logic specific to each case of use of these construct.

Parameters:
parent - is the parent view iterator
Returns:
event iterator

getIterator

public java.util.Iterator<EventBean> getIterator(java.util.Set<MultiKey<EventBean>> joinSet)
Description copied from interface: ResultSetProcessor
Returns the iterator for iterating over a join-result.

Parameters:
joinSet - is the join result set
Returns:
iterator over join results

clear

public void clear()
Description copied from interface: ResultSetProcessor
Clear out current state.

Specified by:
clear in interface ResultSetProcessor
Overrides:
clear in class ResultSetProcessorBaseSimple

getSelectEventsNoHaving

protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                                     EventBean[] events,
                                                     boolean isNewData,
                                                     boolean isSynthesize,
                                                     ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
Returns:
output events, one for each input event

getSelectEventsNoHaving

protected static EventBean[] getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                                     java.util.Set<MultiKey<EventBean>> events,
                                                     boolean isNewData,
                                                     boolean isSynthesize,
                                                     ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
Returns:
output events, one for each input event

getSelectEventsHaving

protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                                   EventBean[] events,
                                                   ExprEvaluator optionalHavingNode,
                                                   boolean isNewData,
                                                   boolean isSynthesize,
                                                   ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getSelectEventsHaving

protected static EventBean[] getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                                   java.util.Set<MultiKey<EventBean>> events,
                                                   ExprEvaluator optionalHavingNode,
                                                   boolean isNewData,
                                                   boolean isSynthesize,
                                                   ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
exprEvaluatorContext - context for expression evalauation
Returns:
output events, one for each input event

getSelectEventsNoHaving

protected static void getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                              OrderByProcessor orderByProcessor,
                                              EventBean[] events,
                                              boolean isNewData,
                                              boolean isSynthesize,
                                              java.util.List<EventBean> result,
                                              java.util.List<java.lang.Object> optSortKeys,
                                              ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - orders the outgoing events according to the order-by clause
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
result - is the result event list to populate
exprEvaluatorContext - context for expression evalauation
optSortKeys - is the result sort key list to populate, for sorting

getSelectEventsNoHaving

protected static void getSelectEventsNoHaving(SelectExprProcessor exprProcessor,
                                              OrderByProcessor orderByProcessor,
                                              java.util.Set<MultiKey<EventBean>> events,
                                              boolean isNewData,
                                              boolean isSynthesize,
                                              java.util.List<EventBean> result,
                                              java.util.List<java.lang.Object> optSortKeys,
                                              ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
result - is the result event list to populate
optSortKeys - is the result sort key list to populate, for sorting
exprEvaluatorContext - context for expression evalauation

getSelectEventsHaving

protected static void getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                            OrderByProcessor orderByProcessor,
                                            EventBean[] events,
                                            ExprEvaluator optionalHavingNode,
                                            boolean isNewData,
                                            boolean isSynthesize,
                                            java.util.List<EventBean> result,
                                            java.util.List<java.lang.Object> optSortKeys,
                                            ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
result - is the result event list to populate
exprEvaluatorContext - context for expression evalauation
optSortKeys - is the result sort key list to populate, for sorting

getSelectEventsHaving

protected static void getSelectEventsHaving(SelectExprProcessor exprProcessor,
                                            OrderByProcessor orderByProcessor,
                                            java.util.Set<MultiKey<EventBean>> events,
                                            ExprEvaluator optionalHavingNode,
                                            boolean isNewData,
                                            boolean isSynthesize,
                                            java.util.List<EventBean> result,
                                            java.util.List<java.lang.Object> optSortKeys,
                                            ExprEvaluatorContext exprEvaluatorContext)
Applies the select-clause to the given events returning the selected events. The number of events stays the same, i.e. this method does not filter it just transforms the result set.

Also applies a having clause.

Parameters:
exprProcessor - - processes each input event and returns output event
orderByProcessor - - for sorting output events according to the order-by clause
events - - input events
optionalHavingNode - - supplies the having-clause expression
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
isSynthesize - - set to true to indicate that synthetic events are required for an iterator result set
result - is the result event list to populate
optSortKeys - is the result sort key list to populate, for sorting
exprEvaluatorContext - context for expression evalauation

hasAggregation

public boolean hasAggregation()

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