|
||||||||||
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.std.UniqueByPropertyView
public final class UniqueByPropertyView
This view includes only the most recent among events having the same value for the specified field. The view accepts the field name as parameter from which the unique values are obtained. For example, a trade's symbol could be used as a unique value. In this example, the first trade for symbol IBM would be posted as new data to child views. When the second trade for symbol IBM arrives the second trade is posted as new data to child views, and the first trade is posted as old data. Should more than one trades for symbol IBM arrive at the same time (like when batched) then the child view will get all new events in newData and all new events in oldData minus the most recent event. When the current new event arrives as old data, the the current unique event gets thrown away and posted as old data to child views. Iteration through the views data shows only the most recent events received for the unique value in the order that events arrived in. The type of the field returning the unique value can be any type but should override equals and hashCode() as the type plays the role of a key in a map storing unique values.
Field Summary |
---|
Fields inherited from class net.esper.view.ViewSupport |
---|
parent |
Constructor Summary | |
---|---|
UniqueByPropertyView(String uniqueFieldName)
Constructor. |
Method Summary | |
---|---|
View |
cloneView(StatementContext statementContext)
Duplicates the view. |
EventType |
getEventType()
Provides metadata information about the type of object the event collection contains. |
String |
getUniqueFieldName()
Returns the name of the field supplying the unique value to keep the most recent record for. |
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 |
Constructor Detail |
---|
public UniqueByPropertyView(String uniqueFieldName)
uniqueFieldName
- is the field from which to pull the unique valueMethod Detail |
---|
public View cloneView(StatementContext statementContext)
CloneableView
Expected to return a same view in initialized state for grouping.
cloneView
in interface CloneableView
statementContext
- is services for the view
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 String getUniqueFieldName()
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |