|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.esper.view.ViewSupport
net.esper.view.window.TimeBatchView
public final 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 getSelectListEvents 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 |
---|
Fields inherited from class net.esper.view.ViewSupport |
---|
parent |
Constructor Summary | |
---|---|
TimeBatchView()
Default constructor - required by all views to adhere to the Java bean specification. |
|
TimeBatchView(double secIntervalSize)
Constructor. |
|
TimeBatchView(double secIntervalSize,
java.lang.Long referencePoint)
Constructor. |
|
TimeBatchView(int secIntervalSize)
Constructor. |
|
TimeBatchView(int secIntervalSize,
java.lang.Long referencePoint)
Constructor. |
Method Summary | |
---|---|
java.lang.String |
attachesTo(Viewable parentView)
Return null if the view will accept being attached to a particular object. |
protected static long |
computeWaitMSec(long current,
long reference,
long interval)
Given a current time and a reference time and an interval size, compute the amount of milliseconds till the next interval. |
ViewServiceContext |
getContext()
Returns the context instances used by 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. |
long |
getMsecIntervalSize()
Returns the interval size in milliseconds. |
java.util.Iterator<EventBean> |
iterator()
Allows iteration through all elements in this event collection. |
protected void |
sendBatch()
This method updates child views and clears the batch of events. |
void |
setContext(ViewServiceContext context)
Sets the services that this view depends on. |
void |
setContextAware(ViewServiceContext context)
Sets the context instances used by the view. |
void |
setInitialReferencePoint(java.lang.Long initialReferencePoint)
Sets the reference point to use to anchor interval start and end dates to. |
void |
setMsecIntervalSize(long msecIntervalSize)
Sets the interval size in milliseconds. |
java.lang.String |
toString()
|
void |
update(EventBean[] newData,
EventBean[] oldData)
Notify that data has been added or removed from the Viewable parent. |
Methods inherited from class net.esper.view.ViewSupport |
---|
addView, dumpChildViews, dumpUpdateParams, findDescendent, getParent, getViews, hasViews, removeView, setParent, shallowCopyView, updateChildren, updateChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TimeBatchView()
public TimeBatchView(int secIntervalSize)
secIntervalSize
- is the number of seconds to batch events for.public TimeBatchView(int secIntervalSize, java.lang.Long referencePoint)
secIntervalSize
- is the number of milliseconds to batch events forreferencePoint
- is the reference point onto which to base intervals.public TimeBatchView(double secIntervalSize)
secIntervalSize
- is the number of seconds to batch events for.public TimeBatchView(double secIntervalSize, java.lang.Long referencePoint)
secIntervalSize
- is the number of seconds to batch events forreferencePoint
- is the reference point onto which to base intervals.Method Detail |
---|
public final long getMsecIntervalSize()
public final void setMsecIntervalSize(long msecIntervalSize)
msecIntervalSize
- batch sizepublic final java.lang.Long getInitialReferencePoint()
public final void setInitialReferencePoint(java.lang.Long initialReferencePoint)
initialReferencePoint
- is the millisecond reference point.public final java.lang.String attachesTo(Viewable parentView)
View
attachesTo
in interface View
parentView
- is the potential parent for this view
public final EventType getEventType()
EventCollection
getEventType
in interface EventCollection
public final 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 final void sendBatch()
public final java.util.Iterator<EventBean> iterator()
EventCollection
iterator
in interface java.lang.Iterable<EventBean>
iterator
in interface EventCollection
public final java.lang.String toString()
toString
in class java.lang.Object
public void setContextAware(ViewServiceContext context)
setContextAware
in interface ContextAwareView
context
- is the context instancepublic ViewServiceContext getContext()
public void setContext(ViewServiceContext context)
context
- - servicesprotected static long computeWaitMSec(long current, long reference, long interval)
current
- is the current timereference
- is the reference pointinterval
- is the interval size
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |