public class PropertyIndexedEventTableUnique extends PropertyIndexedEventTable
Constructor and Description |
---|
PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters,
EventTableOrganization organization) |
Modifier and Type | Method and Description |
---|---|
void |
add(EventBean[] events)
Add an array of events.
|
void |
addRemove(EventBean[] newData,
EventBean[] oldData)
Remove then add events.
|
void |
clear()
Clear out index.
|
java.lang.Integer |
getNumberOfEvents()
If the number of events is readily available, an implementation will return that number
or it may return null to indicate that the count is not readily available.
|
boolean |
isEmpty()
Returns true if the index is empty, or false if not
|
java.util.Iterator<EventBean> |
iterator()
Returns an iterator over events in the table.
|
java.util.Set<EventBean> |
lookup(java.lang.Object[] keys)
Returns the set of events that have the same property value as the given event.
|
void |
remove(EventBean[] events)
Remove events.
|
java.lang.String |
toQueryPlan() |
getIndex, getNumKeys, getOrganization
public PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters, EventTableOrganization organization)
public void addRemove(EventBean[] newData, EventBean[] oldData)
addRemove
in interface EventTable
addRemove
in class PropertyIndexedEventTable
newData
- to addoldData
- to removepublic void add(EventBean[] events)
add
in interface EventTable
add
in class PropertyIndexedEventTable
events
- to addjava.lang.IllegalArgumentException
- if the event was already existed in the indexpublic void remove(EventBean[] events)
remove
in interface EventTable
remove
in class PropertyIndexedEventTable
events
- to be removed, can be null instead of an empty array.java.lang.IllegalArgumentException
- when the event could not be removed as its not in the indexpublic java.util.Set<EventBean> lookup(java.lang.Object[] keys)
lookup
in class PropertyIndexedEventTable
keys
- to compare againstpublic boolean isEmpty()
EventTable
isEmpty
in interface EventTable
isEmpty
in class PropertyIndexedEventTable
public java.util.Iterator<EventBean> iterator()
EventTable
iterator
in interface EventTable
iterator
in interface java.lang.Iterable<EventBean>
iterator
in class PropertyIndexedEventTable
public void clear()
EventTable
clear
in interface EventTable
clear
in class PropertyIndexedEventTable
public java.lang.Integer getNumberOfEvents()
EventTable
getNumberOfEvents
in interface EventTable
getNumberOfEvents
in class PropertyIndexedEventTable
public java.lang.String toQueryPlan()
toQueryPlan
in interface EventTable
toQueryPlan
in class PropertyIndexedEventTable