|
||||||||||
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()
Default constructor - required by all views to adhere to the Java bean specification. |
|
ExternallyTimedWindowView(String timestampFieldName,
long msecBeforeExpiry,
ViewUpdatedCollection viewUpdatedCollection)
Constructor. |
Method Summary | |
---|---|
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()
|
Iterator<EventBean> |
iterator()
Allows iteration through all elements in this event collection. |
void |
setMillisecondsBeforeExpiry(long millisecondsBeforeExpiry)
Sets the window size in milliseconds. |
void |
setParent(Viewable parent)
Called when the View is added to a Viewable object. |
void |
setTimestampFieldName(String timestampFieldName)
Sets the field name to get timestamp values from. |
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, shallowCopyView, 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()
public ExternallyTimedWindowView(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 eventsMethod Detail |
---|
public final String getTimestampFieldName()
public final void setTimestampFieldName(String timestampFieldName)
timestampFieldName
- is the field name for timestamp valuespublic 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 void setMillisecondsBeforeExpiry(long millisecondsBeforeExpiry)
millisecondsBeforeExpiry
- number of milliseconds before events expire from the windowpublic 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 |