public class PropertyIndexedEventTableSingleUnique extends PropertyIndexedEventTableSingle
Constructor and Description |
---|
PropertyIndexedEventTableSingleUnique(EventPropertyGetter propertyGetter,
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.Object |
getIndex()
Return the index object itself, or an object-array for multiple index structures.
|
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.
|
int |
getNumKeys()
If the index retains events using some key-based organization this returns the number of keys,
and may return null to indicate that either the number of keys is not available or
costly to obtain.
|
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 key)
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() |
java.lang.String |
toString() |
getOrganization
public PropertyIndexedEventTableSingleUnique(EventPropertyGetter propertyGetter, EventTableOrganization organization)
public void addRemove(EventBean[] newData, EventBean[] oldData)
addRemove
in interface EventTable
addRemove
in class PropertyIndexedEventTableSingle
newData
- to addoldData
- to removepublic void add(EventBean[] events)
PropertyIndexedEventTableSingle
add
in interface EventTable
add
in class PropertyIndexedEventTableSingle
events
- to addpublic void remove(EventBean[] events)
PropertyIndexedEventTableSingle
remove
in interface EventTable
remove
in class PropertyIndexedEventTableSingle
events
- to be removed, can be null instead of an empty array.public java.util.Set<EventBean> lookup(java.lang.Object key)
PropertyIndexedEventTableSingle
lookup
in class PropertyIndexedEventTableSingle
key
- to compare againstpublic int getNumKeys()
EventTable
The number returned can be an estimate and may not be accurate.
getNumKeys
in interface EventTable
getNumKeys
in class PropertyIndexedEventTableSingle
public java.lang.Object getIndex()
EventTable
May return null if the information is not readily available, i.e. externally maintained index
getIndex
in interface EventTable
getIndex
in class PropertyIndexedEventTableSingle
public boolean isEmpty()
EventTable
isEmpty
in interface EventTable
isEmpty
in class PropertyIndexedEventTableSingle
public java.util.Iterator<EventBean> iterator()
EventTable
iterator
in interface EventTable
iterator
in interface java.lang.Iterable<EventBean>
iterator
in class PropertyIndexedEventTableSingle
public void clear()
EventTable
clear
in interface EventTable
clear
in class PropertyIndexedEventTableSingle
public java.lang.String toString()
toString
in class PropertyIndexedEventTableSingle
public java.lang.Integer getNumberOfEvents()
EventTable
getNumberOfEvents
in interface EventTable
getNumberOfEvents
in class PropertyIndexedEventTableSingle
public java.lang.String toQueryPlan()
toQueryPlan
in interface EventTable
toQueryPlan
in class PropertyIndexedEventTableSingle