|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.collection.TimeWindow
public final class TimeWindow
Container for events per time slot. The time is provided as long milliseconds by client classes. Events are for a specified timestamp and the implementation creates and adds the event to a slot for that timestamp. Events can be expired from the window via the expireEvents method when their timestamp is before (or less then) an expiry timestamp passed in. Expiry removes the event from the window. The window allows iteration through its contents. It is assumed that the timestamp passed to the add method is ascending. The window is backed by a collection reflecting the timestamp order rather then any sorted map or linked hash map for performance reasons.
Constructor Summary | |
---|---|
TimeWindow(boolean isSupportRemoveStream)
Ctor. |
Method Summary | |
---|---|
void |
add(long timestamp,
EventBean bean)
Adds event to the time window for the specified timestamp. |
ArrayDequeJDK6Backport<EventBean> |
expireEvents(long expireBefore)
Return and remove events in time-slots earlier (less) then the timestamp passed in, returning the list of events expired. |
Long |
getOldestTimestamp()
Returns the oldest timestamp in the collection if there is at least one entry, else it returns null if the window is empty. |
protected Map<EventBean,ArrayDequeJDK6Backport<EventBean>> |
getReverseIndex()
Returns the reverse index, for testing purposes. |
boolean |
isEmpty()
Returns true if the window is currently empty. |
Iterator<EventBean> |
iterator()
Returns event iterator. |
void |
remove(EventBean event)
Removes the event from the window, if remove stream handling is enabled. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TimeWindow(boolean isSupportRemoveStream)
isSupportRemoveStream
- true to indicate the time window should support effective removal of events
in the window based on the remove stream events received, or false to not accomodate removal at allMethod Detail |
---|
public final void add(long timestamp, EventBean bean)
timestamp
- - the time slot for the eventbean
- - event to addpublic final void remove(EventBean event)
event
- to removepublic final ArrayDequeJDK6Backport<EventBean> expireEvents(long expireBefore)
expireBefore
- is the timestamp from which on to keep events in the window
public final Iterator<EventBean> iterator()
iterator
in interface Iterable
public final Long getOldestTimestamp()
public final boolean isEmpty()
protected Map<EventBean,ArrayDequeJDK6Backport<EventBean>> getReverseIndex()
|
© 2007 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 |