|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.epl.join.table.PropertySortedEventTable
public class PropertySortedEventTable
Index that organizes events by the event property values into a single TreeMap sortable non-nested index with Object keys that store the property values.
Field Summary | |
---|---|
protected java.util.HashSet<EventBean> |
nullKeyedValues
|
protected EventPropertyGetter |
propertyGetter
|
protected java.util.TreeMap<java.lang.Object,java.util.Set<EventBean>> |
propertyIndex
Index table. |
protected int |
streamNum
|
Constructor Summary | |
---|---|
PropertySortedEventTable(int streamNum,
EventPropertyGetter propertyGetter)
Ctor. |
Method Summary | |
---|---|
void |
add(EventBean[] events)
Add an array of events. |
void |
addRemove(EventBean[] newData,
EventBean[] oldData)
Add and remove events from table. |
void |
clear()
Clear out index. |
protected java.lang.Object |
coerce(java.lang.Object value)
|
protected java.lang.Object |
getIndexedValue(EventBean theEvent)
Determine multikey for index access. |
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> |
lookupConstants(RangeIndexLookupValue lookupValueBase)
|
java.util.Set<EventBean> |
lookupGreater(java.lang.Object keyStart)
|
java.util.Collection<EventBean> |
lookupGreaterColl(java.lang.Object keyStart)
|
java.util.Set<EventBean> |
lookupGreaterEqual(java.lang.Object keyStart)
|
java.util.Collection<EventBean> |
lookupGreaterEqualColl(java.lang.Object keyStart)
|
java.util.Set<EventBean> |
lookupLess(java.lang.Object keyStart)
|
java.util.Set<EventBean> |
lookupLessEqual(java.lang.Object keyStart)
|
java.util.Collection<EventBean> |
lookupLessEqualColl(java.lang.Object keyStart)
|
java.util.Collection<EventBean> |
lookupLessThenColl(java.lang.Object keyStart)
|
java.util.Set<EventBean> |
lookupRange(java.lang.Object keyStart,
boolean includeStart,
java.lang.Object keyEnd,
boolean includeEnd,
boolean allowRangeReversal)
Returns the set of events that have the same property value as the given event. |
java.util.Collection<EventBean> |
lookupRangeColl(java.lang.Object keyStart,
boolean includeStart,
java.lang.Object keyEnd,
boolean includeEnd,
boolean allowRangeReversal)
|
java.util.Set<EventBean> |
lookupRangeInverted(java.lang.Object keyStart,
boolean includeStart,
java.lang.Object keyEnd,
boolean includeEnd)
|
java.util.Collection<EventBean> |
lookupRangeInvertedColl(java.lang.Object keyStart,
boolean includeStart,
java.lang.Object keyEnd,
boolean includeEnd)
|
void |
remove(EventBean[] events)
Remove events. |
java.lang.String |
toQueryPlan()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final int streamNum
protected final EventPropertyGetter propertyGetter
protected final java.util.TreeMap<java.lang.Object,java.util.Set<EventBean>> propertyIndex
protected final java.util.HashSet<EventBean> nullKeyedValues
Constructor Detail |
---|
public PropertySortedEventTable(int streamNum, EventPropertyGetter propertyGetter)
streamNum
- - the stream number that is indexedMethod Detail |
---|
protected java.lang.Object coerce(java.lang.Object value)
protected java.lang.Object getIndexedValue(EventBean theEvent)
theEvent
- to get properties from for key
public void addRemove(EventBean[] newData, EventBean[] oldData)
EventTable
It is up to the index to decide whether to add first and then remove, or whether to remove and then add.
It is important to note that a given event can be in both the removed and the added events. This means that unique indexes probably need to remove first and then add. Most other non-unique indexes will add first and then remove since the an event can be both in the add and the remove stream.
addRemove
in interface EventTable
newData
- to addoldData
- to removepublic void add(EventBean[] events)
add
in interface EventTable
events
- to add
java.lang.IllegalArgumentException
- if the event was already existed in the indexpublic void remove(EventBean[] events)
remove
in interface EventTable
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> lookupRange(java.lang.Object keyStart, boolean includeStart, java.lang.Object keyEnd, boolean includeEnd, boolean allowRangeReversal)
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 java.util.Collection<EventBean> lookupRangeColl(java.lang.Object keyStart, boolean includeStart, java.lang.Object keyEnd, boolean includeEnd, boolean allowRangeReversal)
public java.util.Set<EventBean> lookupRangeInverted(java.lang.Object keyStart, boolean includeStart, java.lang.Object keyEnd, boolean includeEnd)
public java.util.Collection<EventBean> lookupRangeInvertedColl(java.lang.Object keyStart, boolean includeStart, java.lang.Object keyEnd, boolean includeEnd)
public java.util.Set<EventBean> lookupLess(java.lang.Object keyStart)
public java.util.Collection<EventBean> lookupLessThenColl(java.lang.Object keyStart)
public java.util.Set<EventBean> lookupLessEqual(java.lang.Object keyStart)
public java.util.Collection<EventBean> lookupLessEqualColl(java.lang.Object keyStart)
public java.util.Set<EventBean> lookupGreaterEqual(java.lang.Object keyStart)
public java.util.Collection<EventBean> lookupGreaterEqualColl(java.lang.Object keyStart)
public java.util.Set<EventBean> lookupGreater(java.lang.Object keyStart)
public java.util.Collection<EventBean> lookupGreaterColl(java.lang.Object keyStart)
public 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 java.lang.String toQueryPlan()
toQueryPlan
in interface EventTable
public java.util.Set<EventBean> lookupConstants(RangeIndexLookupValue lookupValueBase)
|
© 2006-2011 EsperTech Inc. All rights reserved. Visit us at espertech.com |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |