public class PropertySortedEventTableImpl extends PropertySortedEventTable
Modifier and Type | Field and Description |
---|---|
protected HashSet<EventBean> |
nullKeyedValues |
protected TreeMap<Object,Set<EventBean>> |
propertyIndex
Index table.
|
organization, propertyGetter
Constructor and Description |
---|
PropertySortedEventTableImpl(EventPropertyGetter propertyGetter,
EventTableOrganization organization) |
Modifier and Type | Method and Description |
---|---|
void |
add(EventBean theEvent,
ExprEvaluatorContext exprEvaluatorContext)
Add event to table.
|
void |
clear()
Clear out index.
|
protected Object |
coerce(Object value) |
void |
destroy()
Destroy index.
|
Object |
getIndex()
Return the index object itself, or an object-array for multiple index structures.
|
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.
|
Class |
getProviderClass() |
boolean |
isEmpty()
Returns true if the index is definitely empty,
or false if is not definitely empty but we can not certain.
|
Iterator<EventBean> |
iterator()
Returns an iterator over events in the table.
|
Set<EventBean> |
lookupConstants(RangeIndexLookupValue lookupValueBase) |
Set<EventBean> |
lookupGreater(Object keyStart) |
Collection<EventBean> |
lookupGreaterColl(Object keyStart) |
Set<EventBean> |
lookupGreaterEqual(Object keyStart) |
Collection<EventBean> |
lookupGreaterEqualColl(Object keyStart) |
Set<EventBean> |
lookupLess(Object keyStart) |
Set<EventBean> |
lookupLessEqual(Object keyStart) |
Collection<EventBean> |
lookupLessEqualColl(Object keyStart) |
Collection<EventBean> |
lookupLessThenColl(Object keyStart) |
Set<EventBean> |
lookupRange(Object keyStart,
boolean includeStart,
Object keyEnd,
boolean includeEnd,
boolean allowRangeReversal)
Returns the set of events that have the same property value as the given event.
|
Collection<EventBean> |
lookupRangeColl(Object keyStart,
boolean includeStart,
Object keyEnd,
boolean includeEnd,
boolean allowRangeReversal) |
Set<EventBean> |
lookupRangeInverted(Object keyStart,
boolean includeStart,
Object keyEnd,
boolean includeEnd) |
Collection<EventBean> |
lookupRangeInvertedColl(Object keyStart,
boolean includeStart,
Object keyEnd,
boolean includeEnd) |
void |
remove(EventBean theEvent,
ExprEvaluatorContext exprEvaluatorContext)
Remove event from table.
|
add, addRemove, getIndexedValue, getOrganization, normalize, normalize, normalizeCollection, normalizeCollection, remove, toQueryPlan
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public PropertySortedEventTableImpl(EventPropertyGetter propertyGetter, EventTableOrganization organization)
public Set<EventBean> lookupRange(Object keyStart, boolean includeStart, Object keyEnd, boolean includeEnd, boolean allowRangeReversal)
lookupRange
in class PropertySortedEventTable
keyStart
- to compare againstkeyEnd
- to compare againstallowRangeReversal
- indicate whether "a between 60 and 50" should return no results (equivalent to a>= X and a <=Y) or should return results (equivalent to 'between' and 'in'public Collection<EventBean> lookupRangeColl(Object keyStart, boolean includeStart, Object keyEnd, boolean includeEnd, boolean allowRangeReversal)
lookupRangeColl
in class PropertySortedEventTable
public Set<EventBean> lookupRangeInverted(Object keyStart, boolean includeStart, Object keyEnd, boolean includeEnd)
lookupRangeInverted
in class PropertySortedEventTable
public Collection<EventBean> lookupRangeInvertedColl(Object keyStart, boolean includeStart, Object keyEnd, boolean includeEnd)
lookupRangeInvertedColl
in class PropertySortedEventTable
public Set<EventBean> lookupLess(Object keyStart)
lookupLess
in class PropertySortedEventTable
public Collection<EventBean> lookupLessThenColl(Object keyStart)
lookupLessThenColl
in class PropertySortedEventTable
public Set<EventBean> lookupLessEqual(Object keyStart)
lookupLessEqual
in class PropertySortedEventTable
public Collection<EventBean> lookupLessEqualColl(Object keyStart)
lookupLessEqualColl
in class PropertySortedEventTable
public Set<EventBean> lookupGreaterEqual(Object keyStart)
lookupGreaterEqual
in class PropertySortedEventTable
public Collection<EventBean> lookupGreaterEqualColl(Object keyStart)
lookupGreaterEqualColl
in class PropertySortedEventTable
public Set<EventBean> lookupGreater(Object keyStart)
lookupGreater
in class PropertySortedEventTable
public Collection<EventBean> lookupGreaterColl(Object keyStart)
lookupGreaterColl
in class PropertySortedEventTable
public Integer getNumberOfEvents()
EventTable
getNumberOfEvents
in interface EventTable
getNumberOfEvents
in class PropertySortedEventTable
public int getNumKeys()
EventTable
The number returned can be an estimate and may not be accurate.
public Object getIndex()
EventTable
May return null if the information is not readily available, i.e. externally maintained index
public void add(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext)
EventTable
theEvent
- to addexprEvaluatorContext
- evaluator contextpublic void remove(EventBean theEvent, ExprEvaluatorContext exprEvaluatorContext)
EventTable
theEvent
- to removeexprEvaluatorContext
- evaluator contextpublic boolean isEmpty()
EventTable
public Iterator<EventBean> iterator()
EventTable
public void clear()
EventTable
public void destroy()
EventTable
public Set<EventBean> lookupConstants(RangeIndexLookupValue lookupValueBase)
lookupConstants
in class PropertySortedEventTable
public Class getProviderClass()