public class ResultSetProcessorRowForAll extends Object implements ResultSetProcessor
This processor does not perform grouping, every event entering and leaving is in the same group. Produces one old event and one new event row every time either at least one old or new event is received. Aggregation state is simply one row holding all the state.
Modifier and Type | Field and Description |
---|---|
protected AggregationService |
aggregationService |
protected ExprEvaluatorContext |
exprEvaluatorContext |
protected ResultSetProcessorRowForAllFactory |
prototype |
Constructor and Description |
---|
ResultSetProcessorRowForAll(ResultSetProcessorRowForAllFactory 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) |
AggregationService |
getAggregationService() |
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.
|
EventType |
getResultEventType()
Returns the event type of processed results.
|
EventBean[] |
getSelectListEvents(boolean isNewData,
boolean isSynthesize,
boolean join) |
boolean |
hasAggregation() |
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.
|
protected final ResultSetProcessorRowForAllFactory prototype
protected final AggregationService aggregationService
protected ExprEvaluatorContext exprEvaluatorContext
public ResultSetProcessorRowForAll(ResultSetProcessorRowForAllFactory 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 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 EventBean[] getSelectListEvents(boolean isNewData, boolean isSynthesize, boolean join)
public Iterator<EventBean> getIterator(Viewable parent)
ResultSetProcessor
getIterator
in interface ResultSetProcessor
parent
- is the parent view iteratorpublic 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 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 AggregationService getAggregationService()
public void stop()
StopCallback
stop
in interface StopCallback
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 acceptHelperVisitor(ResultSetProcessorOutputHelperVisitor visitor)
acceptHelperVisitor
in interface ResultSetProcessor