com.espertech.esper.epl.view
Class OutputProcessViewConditionFirst

java.lang.Object
  extended by com.espertech.esper.epl.view.OutputProcessViewBase
      extended by com.espertech.esper.epl.view.OutputProcessViewBaseWAfter
          extended by com.espertech.esper.epl.view.OutputProcessViewConditionFirst
All Implemented Interfaces:
JoinSetIndicator, JoinSetProcessor, OutputProcessViewTerminable, EventCollection, View, Viewable, java.lang.Iterable<EventBean>
Direct Known Subclasses:
OutputProcessViewConditionFirstPostProcess

public class OutputProcessViewConditionFirst
extends OutputProcessViewBaseWAfter

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.epl.view.OutputProcessViewBaseWAfter
isAfterConditionSatisfied
 
Fields inherited from class com.espertech.esper.epl.view.OutputProcessViewBase
childView, joinExecutionStrategy, parentView, resultSetProcessor
 
Constructor Summary
OutputProcessViewConditionFirst(ResultSetProcessor resultSetProcessor, java.lang.Long afterConditionTime, java.lang.Integer afterConditionNumberOfEvents, boolean afterConditionSatisfied, OutputProcessViewConditionFactory parent, AgentInstanceContext agentInstanceContext)
           
 
Method Summary
protected  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.
 java.util.Iterator<EventBean> iterator()
          Allows iteration through all elements in this event collection.
 void process(java.util.Set<MultiKey<EventBean>> newEvents, java.util.Set<MultiKey<EventBean>> oldEvents, ExprEvaluatorContext exprEvaluatorContext)
          This process (update) method is for participation in a join.
 void terminated()
           
 void update(EventBean[] newData, EventBean[] oldData)
          The update method is called if the view does not participate in a join.
 
Methods inherited from class com.espertech.esper.epl.view.OutputProcessViewBaseWAfter
checkAfterCondition, checkAfterCondition, checkAfterCondition
 
Methods inherited from class com.espertech.esper.epl.view.OutputProcessViewBase
addView, getEventType, getParent, getViews, hasViews, removeAllViews, removeView, setJoinExecutionStrategy, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OutputProcessViewConditionFirst

public OutputProcessViewConditionFirst(ResultSetProcessor resultSetProcessor,
                                       java.lang.Long afterConditionTime,
                                       java.lang.Integer afterConditionNumberOfEvents,
                                       boolean afterConditionSatisfied,
                                       OutputProcessViewConditionFactory parent,
                                       AgentInstanceContext agentInstanceContext)
Method Detail

update

public void update(EventBean[] newData,
                   EventBean[] oldData)
The update method is called if the view does not participate in a join.

Parameters:
newData - - new events
oldData - - old events

process

public void process(java.util.Set<MultiKey<EventBean>> newEvents,
                    java.util.Set<MultiKey<EventBean>> oldEvents,
                    ExprEvaluatorContext exprEvaluatorContext)
This process (update) method is for participation in a join.

Parameters:
newEvents - - new events
oldEvents - - old events
exprEvaluatorContext - 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 processed
forceUpdate - - true if output should be made even when no updating events have arrived

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 processed
forceUpdate - - true if output should be made even when no updating events have arrived

iterator

public java.util.Iterator<EventBean> iterator()
Description copied from interface: EventCollection
Allows iteration through all elements in this event collection. 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()

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