public class TimeOrderView extends ViewSupport implements DataWindowView, AgentInstanceStopCallback
The insert stream consists of all arriving events. The remove stream consists of events in order of timestamp value as supplied by each event.
Timestamp values on events should match runtime time. The window compares runtime time to timestamp value and releases events when the event's timestamp is less then runtime time minus interval size (the event is older then the window tail).
The view accepts 2 parameters. The first parameter is the field name to get the event timestamp value from, the second parameter defines the interval size.
child, parent
INSTANCE_NO_ACTION
Constructor and Description |
---|
TimeOrderView(AgentInstanceViewFactoryChainContext agentInstanceContext,
TimeOrderViewFactory factory,
IStreamSortRankRandomAccess optionalSortedRandomAccess,
TimePeriodProvide timePeriodProvide) |
Modifier and Type | Method and Description |
---|---|
protected void |
expire()
This method removes (expires) objects from the window and schedules a new callback for the
time when the next oldest message would expire from the window.
|
EventType |
getEventType()
Provides metadata information about the type of object the event collection contains.
|
ViewFactory |
getFactory() |
protected Long |
getTimestamp(EventBean newEvent) |
boolean |
isEmpty()
True to indicate the sort window is empty, or false if not empty.
|
Iterator<EventBean> |
iterator()
Allows iteration through all elements in this viewable.
|
void |
stop(AgentInstanceStopServices services) |
String |
toString() |
void |
update(EventBean[] newData,
EventBean[] oldData)
Notify that data has been added or removed from the Viewable parent.
|
void |
visitView(ViewDataVisitor viewDataVisitor) |
getChild, getParent, setChild, setParent
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setParent
getChild, setChild
forEach, spliterator
public TimeOrderView(AgentInstanceViewFactoryChainContext agentInstanceContext, TimeOrderViewFactory factory, IStreamSortRankRandomAccess optionalSortedRandomAccess, TimePeriodProvide timePeriodProvide)
public final EventType getEventType()
Viewable
getEventType
in interface Viewable
public final void update(EventBean[] newData, EventBean[] oldData)
View
If the call to update contains new (inserted) data, then the first argument will be a non-empty list and the second will be empty. Similarly, if the call is a notification of deleted data, then the first argument will be empty and the second will be non-empty. Either the newData or oldData will be non-null. This method won't be called with both arguments being null, but either one could be null. The same is true for zero-length arrays. Either newData or oldData will be non-empty. If both are non-empty, then the update is a modification notification.
When update() is called on a view by the parent object, the data in newData will be in the collection of the parent, and its data structures will be arranged to reflect that. The data in oldData will not be in the parent's data structures, and any access to the parent will indicate that that data is no longer there.
public boolean isEmpty()
public final Iterator<EventBean> iterator()
Viewable
public void visitView(ViewDataVisitor viewDataVisitor)
visitView
in interface ViewDataVisitable
protected final void expire()
public void stop(AgentInstanceStopServices services)
stop
in interface AgentInstanceStopCallback
public ViewFactory getFactory()
Copyright © 2005–2018. All rights reserved.