|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.view.ViewSupport
com.espertech.esper.view.window.TimeBatchView
public class TimeBatchView
A data view that aggregates events in a stream and releases them in one batch at every specified time interval. The view works similar to a time_window but in not continuous. The view releases the batched events after the interval as new data to child views. The prior batch if not empty is released as old data to child view. The view doesn't release intervals with no old or new data. It also does not collect old data published by a parent view. For example, we want to calculate the average of IBM stock every hour, for the last hour. The view accepts 2 parameter combinations. (1) A time interval is supplied with a reference point - based on this point the intervals are set. (1) A time interval is supplied but no reference point - the reference point is set when the first event arrives. If there are no events in the current and prior batch, the view will not invoke the update method of child views. In that case also, no next callback is scheduled with the scheduling service until the next event arrives.
Field Summary | |
---|---|
protected AgentInstanceViewFactoryChainContext |
agentInstanceContext
|
protected java.util.ArrayDeque<EventBean> |
currentBatch
|
protected java.lang.Long |
currentReferencePoint
|
protected EPStatementHandleCallback |
handle
|
protected java.lang.Long |
initialReferencePoint
|
protected boolean |
isCallbackScheduled
|
protected boolean |
isForceOutput
|
protected boolean |
isStartEager
|
protected java.util.ArrayDeque<EventBean> |
lastBatch
|
protected ScheduleSlot |
scheduleSlot
|
protected ExprTimePeriodEvalDeltaConst |
timeDeltaComputation
|
protected ViewUpdatedCollection |
viewUpdatedCollection
|
Fields inherited from class com.espertech.esper.view.ViewSupport |
---|
EMPTY_VIEW_ARRAY, parent |
Constructor Summary | |
---|---|
TimeBatchView(TimeBatchViewFactory timeBatchViewFactory,
AgentInstanceViewFactoryChainContext agentInstanceContext,
ExprTimePeriodEvalDeltaConst timeDeltaComputation,
java.lang.Long referencePoint,
boolean forceOutput,
boolean isStartEager,
ViewUpdatedCollection viewUpdatedCollection)
Constructor. |
Method Summary | |
---|---|
View |
cloneView()
Duplicates the view. |
EventType |
getEventType()
Provides metadata information about the type of object the event collection contains. |
java.lang.Long |
getInitialReferencePoint()
Gets the reference point to use to anchor interval start and end dates to. |
ExprTimePeriodEvalDeltaConst |
getTimeDeltaComputation()
|
ViewFactory |
getViewFactory()
|
boolean |
isEmpty()
Returns true if the window is empty, or false if not empty. |
boolean |
isForceOutput()
True for force-output. |
boolean |
isStartEager()
True for start-eager. |
java.util.Iterator<EventBean> |
iterator()
Allows iteration through all elements in this event collection. |
protected void |
scheduleCallback()
|
protected void |
sendBatch()
This method updates child views and clears the batch of events. |
void |
stop()
Stops the underlying resources. |
void |
stopSchedule()
|
void |
stopView()
|
java.lang.String |
toString()
|
void |
update(EventBean[] newData,
EventBean[] oldData)
Notify that data has been added or removed from the Viewable parent. |
void |
visitView(ViewDataVisitor viewDataVisitor)
|
Methods inherited from class com.espertech.esper.view.ViewSupport |
---|
addView, addView, dumpChildViews, dumpUpdateParams, dumpUpdateParams, findDescendent, findViewIndex, getParent, getViews, hasViews, removeAllViews, removeView, removeView, setParent, updateChildren, updateChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.espertech.esper.view.View |
---|
getParent, setParent |
Methods inherited from interface com.espertech.esper.view.Viewable |
---|
addView, getViews, hasViews, removeAllViews, removeView |
Field Detail |
---|
protected final AgentInstanceViewFactoryChainContext agentInstanceContext
protected final ExprTimePeriodEvalDeltaConst timeDeltaComputation
protected final java.lang.Long initialReferencePoint
protected final boolean isForceOutput
protected final boolean isStartEager
protected final ViewUpdatedCollection viewUpdatedCollection
protected final ScheduleSlot scheduleSlot
protected EPStatementHandleCallback handle
protected java.lang.Long currentReferencePoint
protected java.util.ArrayDeque<EventBean> lastBatch
protected java.util.ArrayDeque<EventBean> currentBatch
protected boolean isCallbackScheduled
Constructor Detail |
---|
public TimeBatchView(TimeBatchViewFactory timeBatchViewFactory, AgentInstanceViewFactoryChainContext agentInstanceContext, ExprTimePeriodEvalDeltaConst timeDeltaComputation, java.lang.Long referencePoint, boolean forceOutput, boolean isStartEager, ViewUpdatedCollection viewUpdatedCollection)
timeDeltaComputation
- is the number of milliseconds to batch events forreferencePoint
- is the reference point onto which to base intervals, or null if
there is no such reference point suppliedviewUpdatedCollection
- is a collection that the view must update when receiving eventstimeBatchViewFactory
- for copying this view in a group-byforceOutput
- is true if the batch should produce empty output if there is no value to output following time intervalsisStartEager
- is true for start-eagerMethod Detail |
---|
public View cloneView()
CloneableView
Expected to return a same view in initialized state for grouping.
cloneView
in interface CloneableView
public ExprTimePeriodEvalDeltaConst getTimeDeltaComputation()
public final java.lang.Long getInitialReferencePoint()
public boolean isForceOutput()
public boolean isStartEager()
public final EventType getEventType()
EventCollection
getEventType
in interface EventCollection
public void update(EventBean[] newData, EventBean[] oldData)
View
update
in interface View
newData
- is the new data that has been added to the parent viewoldData
- is the old data that has been removed from the parent viewprotected void sendBatch()
public boolean isEmpty()
public final java.util.Iterator<EventBean> iterator()
EventCollection
iterator
in interface EventCollection
iterator
in interface java.lang.Iterable<EventBean>
public final java.lang.String toString()
toString
in class java.lang.Object
public void visitView(ViewDataVisitor viewDataVisitor)
visitView
in interface ViewDataVisitable
protected void scheduleCallback()
public void stopView()
stopView
in interface StoppableView
public void stop()
StopCallback
stop
in interface StopCallback
public void stopSchedule()
public ViewFactory getViewFactory()
getViewFactory
in interface GroupableView
|
© 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 |