Class OutputProcessViewConditionFirst
java.lang.Object
com.espertech.esper.common.internal.epl.output.core.OutputProcessView
com.espertech.esper.common.internal.epl.output.view.OutputProcessViewBaseWAfter
com.espertech.esper.common.internal.epl.output.view.OutputProcessViewConditionFirst
- All Implemented Interfaces:
AgentInstanceMgmtCallback
,JoinSetIndicator
,JoinSetProcessor
,OutputProcessViewTerminable
,OutputProcessViewWithAfter
,View
,Viewable
,Iterable<EventBean>
- Direct Known Subclasses:
OutputProcessViewConditionFirstPostProcess
Handles output rate limiting for FIRST, only applicable with a having-clause and no group-by clause.
Without having-clause the order of processing won't matter therefore its handled by the
OutputProcessViewConditionDefault
. With group-by the ResultSetProcessor
handles the per-group first criteria.
-
Field Summary
Fields inherited from class com.espertech.esper.common.internal.epl.output.view.OutputProcessViewBaseWAfter
agentInstanceContext, resultSetProcessor
Fields inherited from class com.espertech.esper.common.internal.epl.output.core.OutputProcessView
child, EPTYPE, joinExecutionStrategy, parentView
Fields inherited from interface com.espertech.esper.common.internal.context.util.AgentInstanceMgmtCallback
INSTANCE_NO_ACTION
-
Constructor Summary
ConstructorDescriptionOutputProcessViewConditionFirst
(ResultSetProcessor resultSetProcessor, Long afterConditionTime, Integer afterConditionNumberOfEvents, boolean afterConditionSatisfied, OutputProcessViewConditionFactory parent, AgentInstanceContext agentInstanceContext, StateMgmtSetting stateMgmtSetting) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
continueOutputProcessingJoin
(boolean doOutput, boolean forceUpdate) Called once the output condition has been met.protected void
continueOutputProcessingView
(boolean doOutput, boolean forceUpdate) Called once the output condition has been met.int
iterator()
Allows iteration through all elements in this viewable.protected void
output
(boolean forceUpdate, UniformPair<EventBean[]> results) void
process
(Set<MultiKeyArrayOfKeys<EventBean>> newEvents, Set<MultiKeyArrayOfKeys<EventBean>> oldEvents, ExprEvaluatorContext exprEvaluatorContext) This process (update) method is for participation in a join.void
stop
(AgentInstanceStopServices services) void
void
The update method is called if the view does not participate in a join.Methods inherited from class com.espertech.esper.common.internal.epl.output.view.OutputProcessViewBaseWAfter
checkAfterCondition, checkAfterCondition, checkAfterCondition, getEventType
Methods inherited from class com.espertech.esper.common.internal.epl.output.core.OutputProcessView
getChild, getParent, setChild, setJoinExecutionStrategy, setParent
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.espertech.esper.common.internal.context.util.AgentInstanceMgmtCallback
transfer
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
OutputProcessViewConditionFirst
public OutputProcessViewConditionFirst(ResultSetProcessor resultSetProcessor, Long afterConditionTime, Integer afterConditionNumberOfEvents, boolean afterConditionSatisfied, OutputProcessViewConditionFactory parent, AgentInstanceContext agentInstanceContext, StateMgmtSetting stateMgmtSetting)
-
-
Method Details
-
getNumChangesetRows
public int getNumChangesetRows()- Specified by:
getNumChangesetRows
in classOutputProcessView
-
getOptionalOutputCondition
- Specified by:
getOptionalOutputCondition
in classOutputProcessView
-
getOptionalAfterConditionState
- Specified by:
getOptionalAfterConditionState
in interfaceOutputProcessViewWithAfter
- Overrides:
getOptionalAfterConditionState
in classOutputProcessViewBaseWAfter
-
update
The update method is called if the view does not participate in a join.- Parameters:
newData
- - new eventsoldData
- - old events
-
process
public void process(Set<MultiKeyArrayOfKeys<EventBean>> newEvents, Set<MultiKeyArrayOfKeys<EventBean>> oldEvents, ExprEvaluatorContext exprEvaluatorContext) This process (update) method is for participation in a join.- Parameters:
newEvents
- - new eventsoldEvents
- - old eventsexprEvaluatorContext
- expression evaluation context
-
continueOutputProcessingView
protected void continueOutputProcessingView(boolean doOutput, boolean forceUpdate) Called once the output condition has been met. Invokes the result set processor. Used for non-join event data.- Parameters:
doOutput
- - true if the batched events should actually be output as well as processed, false if they should just be processedforceUpdate
- - true if output should be made even when no updating events have arrived
-
output
-
continueOutputProcessingJoin
protected void continueOutputProcessingJoin(boolean doOutput, boolean forceUpdate) Called once the output condition has been met. Invokes the result set processor. Used for join event data.- Parameters:
doOutput
- - true if the batched events should actually be output as well as processed, false if they should just be processedforceUpdate
- - true if output should be made even when no updating events have arrived
-
iterator
Description copied from interface:Viewable
Allows iteration through all elements in this viewable. The iterator will return the elements in the collection in their natural order, or, if there is no natural ordering, in some unpredictable order.- Returns:
- an iterator which will go through all current elements in the collection.
-
terminated
public void terminated() -
stop
- Specified by:
stop
in interfaceAgentInstanceMgmtCallback
- Overrides:
stop
in classOutputProcessViewBaseWAfter
-