|
||||||||||
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.ExternallyTimedWindowView
public final class ExternallyTimedWindowView
View for a moving window extending the specified amount of time into the past, driven entirely by external timing supplied within long-type timestamp values in a field of the event beans that the view receives. The view is completely driven by timestamp values that are supplied by the events it receives, and does not use the system time. It requires a field name as parameter for a field that returns ascending long-type timestamp values. It also requires a long-type parameter setting the time length in milliseconds of the time window. Events are expected to provide long-type timestamp values in natural order. The view does itself not use the current system time for keeping track of the time window, but just the timestamp values supplied by the events sent in. The arrival of new events with a newer timestamp then past events causes the window to be re-evaluated and the oldest events pushed out of the window. Ie. Assume event X1 with timestamp T1 is in the window. When event Xn with timestamp Tn arrives, and the window time length in milliseconds is t, then if ((Tn - T1) > t == true) then event X1 is pushed as oldData out of the window. It is assumed that events are sent in in their natural order and the timestamp values are ascending.
Field Summary |
---|
Fields inherited from class net.esper.view.ViewSupport |
---|
parent |
Constructor Summary | |
---|---|
ExternallyTimedWindowView(ExternallyTimedWindowViewFactory externallyTimedWindowViewFactory,
String timestampFieldName,
long msecBeforeExpiry,
ViewUpdatedCollection viewUpdatedCollection)
Constructor. |
Method Summary | |
---|---|
View |
cloneView(ViewServiceContext viewServiceContext)
|
EventType |
getEventType()
Provides metadata information about the type of object the event collection contains. |
long |
getMillisecondsBeforeExpiry()
Retuns the window size in milliseconds. |
String |
getTimestampFieldName()
Returns the field name to get timestamp values from. |
boolean |
isEmpty()
Returns true to indicate the window is empty, or false if the view is not empty. |
Iterator<EventBean> |
iterator()
Allows iteration through all elements in this event collection. |
void |
setParent(Viewable parent)
Called when the View is added to a Viewable object. |
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, updateChildren, updateChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.esper.view.View |
---|
getParent |
Methods inherited from interface net.esper.view.Viewable |
---|
addView, getViews, hasViews, removeView |
Constructor Detail |
---|
public ExternallyTimedWindowView(ExternallyTimedWindowViewFactory externallyTimedWindowViewFactory, String timestampFieldName, long msecBeforeExpiry, ViewUpdatedCollection viewUpdatedCollection)
timestampFieldName
- is the field name containing a long timestamp value
that should be in ascending order for the natural order of events and is intended to reflect
System.currentTimeInMillis but does not necessarily have to.msecBeforeExpiry
- is the number of milliseconds before events gets pushed
out of the window as oldData in the update method. The view compares
each events timestamp against the newest event timestamp and those with a delta
greater then secondsBeforeExpiry are pushed out of the window.viewUpdatedCollection
- is a collection that the view must update when receiving eventsexternallyTimedWindowViewFactory
- for copying this view in a group-byMethod Detail |
---|
public View cloneView(ViewServiceContext viewServiceContext)
cloneView
in interface CloneableView
public final String getTimestampFieldName()
public void setParent(Viewable parent)
View
setParent
in interface View
setParent
in class ViewSupport
parent
- is the parent that this view is a child ofpublic final long getMillisecondsBeforeExpiry()
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 viewpublic final Iterator<EventBean> iterator()
EventCollection
iterator
in interface Iterable<EventBean>
iterator
in interface EventCollection
public final String toString()
toString
in class Object
public boolean isEmpty()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |