public class PropertyIndexedEventTableUnique extends PropertyIndexedEventTable implements EventTableAsSet
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<MultiKeyUntyped,EventBean> |
propertyIndex |
organization, propertyGetters
Constructor and Description |
---|
PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters,
EventTableOrganization organization) |
PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters,
EventTableOrganization organization,
java.util.Map<MultiKeyUntyped,EventBean> propertyIndex) |
Modifier and Type | Method and Description |
---|---|
void |
add(EventBean theEvent,
ExprEvaluatorContext exprEvaluatorContext)
Add event to table.
|
void |
addRemove(EventBean[] newData,
EventBean[] oldData,
ExprEvaluatorContext exprEvaluatorContext)
Remove then add events.
|
java.util.Set<EventBean> |
allValues() |
void |
clear()
Clear out index.
|
void |
destroy()
Destroy 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 -1 to indicate that either the number of keys is not available or
costly to obtain.
|
java.lang.Class |
getProviderClass() |
static EPException |
handleUniqueIndexViolation(java.lang.String indexName,
java.lang.Object key) |
boolean |
isEmpty()
Returns true if the index is definitely empty,
or false if is not definitely empty but we can not certain.
|
java.util.Iterator<EventBean> |
iterator()
Returns an iterator over events in the table.
|
java.util.Set<EventBean> |
lookup(java.lang.Object[] keys) |
void |
remove(EventBean theEvent,
ExprEvaluatorContext exprEvaluatorContext)
Remove event from table.
|
add, getMultiKey, getOrganization, remove, toQueryPlan
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, getOrganization, remove, toQueryPlan
protected final java.util.Map<MultiKeyUntyped,EventBean> propertyIndex
public PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters, EventTableOrganization organization)
public PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters, EventTableOrganization organization, java.util.Map<MultiKeyUntyped,EventBean> propertyIndex)
public void addRemove(EventBean[] newData, EventBean[] oldData, ExprEvaluatorContext exprEvaluatorContext)
addRemove
in interface EventTable
addRemove
in class PropertyIndexedEventTable
newData
- to addoldData
- to removeexprEvaluatorContext
- evaluator contextpublic java.util.Set<EventBean> lookup(java.lang.Object[] keys)
lookup
in class PropertyIndexedEventTable
public void add(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext)
EventTable
add
in interface EventTable
theEvent
- to addexprEvaluatorContext
- evaluator contextpublic static EPException handleUniqueIndexViolation(java.lang.String indexName, java.lang.Object key)
public void remove(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext)
EventTable
remove
in interface EventTable
theEvent
- to removeexprEvaluatorContext
- evaluator contextpublic boolean isEmpty()
EventTable
isEmpty
in interface EventTable
public java.util.Iterator<EventBean> iterator()
EventTable
iterator
in interface EventTable
iterator
in interface java.lang.Iterable<EventBean>
public void clear()
EventTable
clear
in interface EventTable
public void destroy()
EventTable
destroy
in interface EventTable
public java.lang.Integer getNumberOfEvents()
EventTable
getNumberOfEvents
in interface EventTable
public int getNumKeys()
EventTable
The number returned can be an estimate and may not be accurate.
getNumKeys
in interface EventTable
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
public java.util.Set<EventBean> allValues()
allValues
in interface EventTableAsSet
public java.lang.Class getProviderClass()
getProviderClass
in interface EventTable