public class LengthBatchViewRStream extends ViewSupport implements CloneableView, DataWindowView
LengthBatchView
, this view also supports fast-remove from the batch for remove stream events.Modifier and Type | Field and Description |
---|---|
protected AgentInstanceViewFactoryChainContext |
agentInstanceViewFactoryContext |
protected LinkedHashSet<EventBean> |
currentBatch |
protected LinkedHashSet<EventBean> |
lastBatch |
EMPTY_VIEW_ARRAY, parent
Constructor and Description |
---|
LengthBatchViewRStream(AgentInstanceViewFactoryChainContext agentInstanceViewFactoryContext,
LengthBatchViewFactory lengthBatchViewFactory,
int size)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
View |
cloneView()
Duplicates the view.
|
EventType |
getEventType()
Provides metadata information about the type of object the event collection contains.
|
int |
getSize()
Returns the number of events to batch (data window size).
|
ViewFactory |
getViewFactory() |
void |
internalHandleRemoved(EventBean oldData) |
boolean |
isEmpty()
Returns true if the window is empty, or false if not empty.
|
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.
|
String |
toString() |
void |
update(EventBean[] newData,
EventBean[] oldData)
Notify that data has been added or removed from the Viewable parent.
|
void |
visitView(ViewDataVisitor viewDataVisitor) |
addView, addView, dumpChildViews, dumpUpdateParams, dumpUpdateParams, findDescendent, findViewIndex, getParent, getViews, hasViews, removeAllViews, removeView, removeView, setParent, updateChildren, updateChildren
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addView, getViews, hasViews, removeAllViews, removeView
forEach, spliterator
protected final AgentInstanceViewFactoryChainContext agentInstanceViewFactoryContext
protected LinkedHashSet<EventBean> lastBatch
protected LinkedHashSet<EventBean> currentBatch
public LengthBatchViewRStream(AgentInstanceViewFactoryChainContext agentInstanceViewFactoryContext, LengthBatchViewFactory lengthBatchViewFactory, int size)
size
- is the number of events to batchlengthBatchViewFactory
- for copying this view in a group-byagentInstanceViewFactoryContext
- contextpublic View cloneView()
CloneableView
Expected to return a same view in initialized state for grouping.
cloneView
in interface CloneableView
public final int getSize()
public final EventType getEventType()
EventCollection
getEventType
in interface EventCollection
public void internalHandleRemoved(EventBean oldData)
public 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.
protected void sendBatch()
public boolean isEmpty()
public final Iterator<EventBean> iterator()
EventCollection
iterator
in interface EventCollection
iterator
in interface Iterable<EventBean>
public void visitView(ViewDataVisitor viewDataVisitor)
visitView
in interface ViewDataVisitable
public ViewFactory getViewFactory()
getViewFactory
in interface GroupableView