|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.epl.core.ResultSetProcessorRowPerGroup
public class ResultSetProcessorRowPerGroup
Result set processor for the fully-grouped case: there is a group-by and all non-aggregation event properties in the select clause are listed in the group by, and there are aggregation functions.
Produces one row for each group that changed (and not one row per event). Computes MultiKey group-by keys for each event and uses a set of the group-by keys to generate the result rows, using the first (old or new, anyone) event for each distinct group-by key.
Field Summary | |
---|---|
protected AgentInstanceContext |
agentInstanceContext
|
protected AggregationService |
aggregationService
|
protected java.util.Map<java.lang.Object,EventBean[]> |
groupRepsView
|
protected OrderByProcessor |
orderByProcessor
|
protected ResultSetProcessorRowPerGroupFactory |
prototype
|
protected SelectExprProcessor |
selectExprProcessor
|
Constructor Summary | |
---|---|
ResultSetProcessorRowPerGroup(ResultSetProcessorRowPerGroupFactory prototype,
SelectExprProcessor selectExprProcessor,
OrderByProcessor orderByProcessor,
AggregationService aggregationService,
AgentInstanceContext agentInstanceContext)
|
Method Summary | |
---|---|
void |
applyJoinResult(java.util.Set<MultiKey<EventBean>> newEvents,
java.util.Set<MultiKey<EventBean>> oldEvents)
|
void |
applyViewResult(EventBean[] newData,
EventBean[] oldData)
|
void |
clear()
Clear out current state. |
protected java.lang.Object |
generateGroupKey(EventBean[] eventsPerStream,
boolean isNewData)
|
protected java.lang.Object[] |
generateGroupKeys(EventBean[] events,
java.util.Map<java.lang.Object,EventBean> eventPerKey,
boolean isNewData)
|
protected EventBean[] |
generateOutputEventsView(java.util.Map<java.lang.Object,EventBean> keysAndEvents,
boolean isNewData,
boolean isSynthesize)
|
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. |
protected java.util.Iterator<EventBean> |
getIteratorSorted(java.util.Iterator<EventBean> parentIter)
|
ExprEvaluator |
getOptionalHavingNode()
Returns the optional having expression. |
EventType |
getResultEventType()
Returns the event type of processed results. |
SelectExprProcessor |
getSelectExprProcessor()
Returns the select expression processor |
boolean |
hasAggregation()
|
java.util.Iterator<EventBean> |
obtainIterator(Viewable parent)
|
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[]> |
processOutputLimitedJoin(java.util.List<UniformPair<java.util.Set<MultiKey<EventBean>>>> joinEventsSet,
boolean generateSynthetic,
OutputLimitLimitType outputLimitLimitType)
Processes batched events in case of output-rate limiting. |
UniformPair<EventBean[]> |
processOutputLimitedView(java.util.List<UniformPair<EventBean[]>> viewEventsList,
boolean generateSynthetic,
OutputLimitLimitType outputLimitLimitType)
Processes batched events in case of output-rate limiting. |
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). |
void |
removed(java.lang.Object key)
|
void |
setAgentInstanceContext(AgentInstanceContext agentInstanceContext)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final ResultSetProcessorRowPerGroupFactory prototype
protected final SelectExprProcessor selectExprProcessor
protected final OrderByProcessor orderByProcessor
protected final AggregationService aggregationService
protected AgentInstanceContext agentInstanceContext
protected final java.util.Map<java.lang.Object,EventBean[]> groupRepsView
Constructor Detail |
---|
public ResultSetProcessorRowPerGroup(ResultSetProcessorRowPerGroupFactory prototype, SelectExprProcessor selectExprProcessor, OrderByProcessor orderByProcessor, AggregationService aggregationService, AgentInstanceContext agentInstanceContext)
Method Detail |
---|
public void setAgentInstanceContext(AgentInstanceContext agentInstanceContext)
setAgentInstanceContext
in interface ResultSetProcessor
public EventType getResultEventType()
ResultSetProcessor
getResultEventType
in interface ResultSetProcessor
public void applyViewResult(EventBean[] newData, EventBean[] oldData)
applyViewResult
in interface ResultSetProcessor
public void applyJoinResult(java.util.Set<MultiKey<EventBean>> newEvents, java.util.Set<MultiKey<EventBean>> oldEvents)
applyJoinResult
in interface ResultSetProcessor
public UniformPair<EventBean[]> processJoinResult(java.util.Set<MultiKey<EventBean>> newEvents, java.util.Set<MultiKey<EventBean>> oldEvents, boolean isSynthesize)
ResultSetProcessor
processJoinResult
in interface ResultSetProcessor
newEvents
- - new events posted by joinoldEvents
- - old events posted by joinisSynthesize
- - set to true to indicate that synthetic events are required for an iterator result set
public UniformPair<EventBean[]> processViewResult(EventBean[] newData, EventBean[] oldData, boolean isSynthesize)
ResultSetProcessor
processViewResult
in interface ResultSetProcessor
newData
- - new events posted by viewoldData
- - old events posted by viewisSynthesize
- - set to true to indicate that synthetic events are required for an iterator result set
protected EventBean[] generateOutputEventsView(java.util.Map<java.lang.Object,EventBean> keysAndEvents, boolean isNewData, boolean isSynthesize)
protected java.lang.Object[] generateGroupKeys(EventBean[] events, java.util.Map<java.lang.Object,EventBean> eventPerKey, boolean isNewData)
public ExprEvaluator getOptionalHavingNode()
public SelectExprProcessor getSelectExprProcessor()
public java.util.Iterator<EventBean> getIterator(Viewable parent)
ResultSetProcessor
getIterator
in interface ResultSetProcessor
parent
- is the parent view iterator
public java.util.Iterator<EventBean> obtainIterator(Viewable parent)
protected java.util.Iterator<EventBean> getIteratorSorted(java.util.Iterator<EventBean> parentIter)
public java.util.Iterator<EventBean> getIterator(java.util.Set<MultiKey<EventBean>> joinSet)
ResultSetProcessor
getIterator
in interface ResultSetProcessor
joinSet
- is the join result set
public void clear()
ResultSetProcessor
clear
in interface ResultSetProcessor
public UniformPair<EventBean[]> processOutputLimitedJoin(java.util.List<UniformPair<java.util.Set<MultiKey<EventBean>>>> joinEventsSet, boolean generateSynthetic, OutputLimitLimitType outputLimitLimitType)
ResultSetProcessor
processOutputLimitedJoin
in interface ResultSetProcessor
joinEventsSet
- the join resultsgenerateSynthetic
- flag to indicate whether synthetic events must be generatedoutputLimitLimitType
- the type of output rate limiting
public UniformPair<EventBean[]> processOutputLimitedView(java.util.List<UniformPair<EventBean[]>> viewEventsList, boolean generateSynthetic, OutputLimitLimitType outputLimitLimitType)
ResultSetProcessor
processOutputLimitedView
in interface ResultSetProcessor
viewEventsList
- the view resultsgenerateSynthetic
- flag to indicate whether synthetic events must be generatedoutputLimitLimitType
- the type of output rate limiting
public boolean hasAggregation()
hasAggregation
in interface ResultSetProcessor
public void removed(java.lang.Object key)
removed
in interface AggregationRowRemovedCallback
protected java.lang.Object generateGroupKey(EventBean[] eventsPerStream, boolean isNewData)
|
© 2006-2015 EsperTech Inc. All rights reserved. Visit us at espertech.com |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |