public class ResultSetProcessorAggregateAll extends Object implements ResultSetProcessor
This processor does not perform grouping, every event entering and leaving is in the same group. The processor generates one row for each event entering (new event) and one row for each event leaving (old event). Aggregation state is simply one row holding all the state.
Constructor and Description |
---|
ResultSetProcessorAggregateAll(ResultSetProcessorAggregateAllFactory prototype,
SelectExprProcessor selectExprProcessor,
OrderByProcessor orderByProcessor,
AggregationService aggregationService,
AgentInstanceContext agentInstanceContext) |
Modifier and Type | Method and Description |
---|---|
void |
acceptHelperVisitor(ResultSetProcessorOutputHelperVisitor visitor) |
void |
applyJoinResult(Set<MultiKey<EventBean>> newEvents,
Set<MultiKey<EventBean>> oldEvents) |
void |
applyViewResult(EventBean[] newData,
EventBean[] oldData) |
void |
clear()
Clear out current state.
|
UniformPair<EventBean[]> |
continueOutputLimitedLastAllNonBufferedJoin(boolean isSynthesize,
boolean isAll) |
UniformPair<EventBean[]> |
continueOutputLimitedLastAllNonBufferedView(boolean isSynthesize,
boolean isAll) |
Iterator<EventBean> |
getIterator(Set<MultiKey<EventBean>> joinSet)
Returns the iterator for iterating over a join-result.
|
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.
|
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() |
Iterator<EventBean> |
obtainIterator(Viewable parent) |
UniformPair<EventBean[]> |
processJoinResult(Set<MultiKey<EventBean>> newEvents,
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(List<UniformPair<Set<MultiKey<EventBean>>>> joinEventsSet,
boolean generateSynthetic,
OutputLimitLimitType outputLimitLimitType)
Processes batched events in case of output-rate limiting.
|
void |
processOutputLimitedLastAllNonBufferedJoin(Set<MultiKey<EventBean>> newEvents,
Set<MultiKey<EventBean>> oldEvents,
boolean isGenerateSynthetic,
boolean isAll) |
void |
processOutputLimitedLastAllNonBufferedView(EventBean[] newData,
EventBean[] oldData,
boolean isGenerateSynthetic,
boolean isAll) |
UniformPair<EventBean[]> |
processOutputLimitedView(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 |
setAgentInstanceContext(AgentInstanceContext context) |
void |
stop()
Stops the underlying resources.
|
public ResultSetProcessorAggregateAll(ResultSetProcessorAggregateAllFactory prototype, SelectExprProcessor selectExprProcessor, OrderByProcessor orderByProcessor, AggregationService aggregationService, AgentInstanceContext agentInstanceContext)
public void setAgentInstanceContext(AgentInstanceContext context)
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(Set<MultiKey<EventBean>> newEvents, Set<MultiKey<EventBean>> oldEvents)
applyJoinResult
in interface ResultSetProcessor
public UniformPair<EventBean[]> processJoinResult(Set<MultiKey<EventBean>> newEvents, 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 setpublic 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 setpublic Iterator<EventBean> getIterator(Viewable parent)
ResultSetProcessor
getIterator
in interface ResultSetProcessor
parent
- is the parent view iteratorpublic SelectExprProcessor getSelectExprProcessor()
public ExprEvaluator getOptionalHavingNode()
public Iterator<EventBean> getIterator(Set<MultiKey<EventBean>> joinSet)
ResultSetProcessor
getIterator
in interface ResultSetProcessor
joinSet
- is the join result setpublic void clear()
ResultSetProcessor
clear
in interface ResultSetProcessor
public UniformPair<EventBean[]> processOutputLimitedJoin(List<UniformPair<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 limitingpublic UniformPair<EventBean[]> processOutputLimitedView(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 limitingpublic boolean hasAggregation()
hasAggregation
in interface ResultSetProcessor
public void processOutputLimitedLastAllNonBufferedView(EventBean[] newData, EventBean[] oldData, boolean isGenerateSynthetic, boolean isAll)
processOutputLimitedLastAllNonBufferedView
in interface ResultSetProcessor
public void processOutputLimitedLastAllNonBufferedJoin(Set<MultiKey<EventBean>> newEvents, Set<MultiKey<EventBean>> oldEvents, boolean isGenerateSynthetic, boolean isAll)
processOutputLimitedLastAllNonBufferedJoin
in interface ResultSetProcessor
public UniformPair<EventBean[]> continueOutputLimitedLastAllNonBufferedView(boolean isSynthesize, boolean isAll)
continueOutputLimitedLastAllNonBufferedView
in interface ResultSetProcessor
public UniformPair<EventBean[]> continueOutputLimitedLastAllNonBufferedJoin(boolean isSynthesize, boolean isAll)
continueOutputLimitedLastAllNonBufferedJoin
in interface ResultSetProcessor
public void stop()
StopCallback
stop
in interface StopCallback
public void acceptHelperVisitor(ResultSetProcessorOutputHelperVisitor visitor)
acceptHelperVisitor
in interface ResultSetProcessor