com.espertech.esper.epl.join.table
Class PropertyIndexedEventTableUnique

java.lang.Object
  extended by com.espertech.esper.epl.join.table.PropertyIndexedEventTable
      extended by com.espertech.esper.epl.join.table.PropertyIndexedEventTableUnique
All Implemented Interfaces:
EventTable, EventTableAsSet, java.lang.Iterable<EventBean>

public class PropertyIndexedEventTableUnique
extends PropertyIndexedEventTable
implements EventTableAsSet


Field Summary
protected  java.util.Map<MultiKeyUntyped,EventBean> propertyIndex
           
 
Fields inherited from class com.espertech.esper.epl.join.table.PropertyIndexedEventTable
organization, propertyGetters
 
Constructor Summary
PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters, EventTableOrganization organization)
           
PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters, EventTableOrganization organization, java.util.Map<MultiKeyUntyped,EventBean> propertyIndex)
           
 
Method Summary
 void add(EventBean theEvent)
          Add event to table.
 void addRemove(EventBean[] newData, EventBean[] oldData)
          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 null 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 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)
           
 void remove(EventBean theEvent)
          Remove event from table.
 
Methods inherited from class com.espertech.esper.epl.join.table.PropertyIndexedEventTable
add, getMultiKey, getOrganization, remove, toQueryPlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.espertech.esper.epl.join.table.EventTable
add, getOrganization, remove, toQueryPlan
 

Field Detail

propertyIndex

protected final java.util.Map<MultiKeyUntyped,EventBean> propertyIndex
Constructor Detail

PropertyIndexedEventTableUnique

public PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters,
                                       EventTableOrganization organization)

PropertyIndexedEventTableUnique

public PropertyIndexedEventTableUnique(EventPropertyGetter[] propertyGetters,
                                       EventTableOrganization organization,
                                       java.util.Map<MultiKeyUntyped,EventBean> propertyIndex)
Method Detail

addRemove

public void addRemove(EventBean[] newData,
                      EventBean[] oldData)
Remove then add events.

Specified by:
addRemove in interface EventTable
Overrides:
addRemove in class PropertyIndexedEventTable
Parameters:
newData - to add
oldData - to remove

lookup

public java.util.Set<EventBean> lookup(java.lang.Object[] keys)
Specified by:
lookup in class PropertyIndexedEventTable

add

public void add(EventBean theEvent)
Description copied from interface: EventTable
Add event to table.

Specified by:
add in interface EventTable
Parameters:
theEvent - to add

handleUniqueIndexViolation

public static EPException handleUniqueIndexViolation(java.lang.String indexName,
                                                     java.lang.Object key)

remove

public void remove(EventBean theEvent)
Description copied from interface: EventTable
Remove event from table.

Specified by:
remove in interface EventTable
Parameters:
theEvent - to remove

isEmpty

public boolean isEmpty()
Description copied from interface: EventTable
Returns true if the index is empty, or false if not

Specified by:
isEmpty in interface EventTable
Returns:
true for empty index

iterator

public java.util.Iterator<EventBean> iterator()
Description copied from interface: EventTable
Returns an iterator over events in the table.

Specified by:
iterator in interface EventTable
Specified by:
iterator in interface java.lang.Iterable<EventBean>
Returns:
table iterator

clear

public void clear()
Description copied from interface: EventTable
Clear out index.

Specified by:
clear in interface EventTable

destroy

public void destroy()
Description copied from interface: EventTable
Destroy index.

Specified by:
destroy in interface EventTable

getNumberOfEvents

public java.lang.Integer getNumberOfEvents()
Description copied from interface: EventTable
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.

Specified by:
getNumberOfEvents in interface EventTable
Returns:
number of events

getNumKeys

public int getNumKeys()
Description copied from interface: EventTable
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.

The number returned can be an estimate and may not be accurate.

Specified by:
getNumKeys in interface EventTable
Returns:
number of events

getIndex

public java.lang.Object getIndex()
Description copied from interface: EventTable
Return the index object itself, or an object-array for multiple index structures.

May return null if the information is not readily available, i.e. externally maintained index

Specified by:
getIndex in interface EventTable
Returns:
index object

allValues

public java.util.Set<EventBean> allValues()
Specified by:
allValues in interface EventTableAsSet

getProviderClass

public java.lang.Class getProviderClass()
Specified by:
getProviderClass in interface EventTable

© 2006-2016 EsperTech Inc.
All rights reserved.
Visit us at espertech.com