com.espertech.esper.epl.lookup
Class IndexedTableLookupStrategy

java.lang.Object
  extended by com.espertech.esper.epl.lookup.IndexedTableLookupStrategy
All Implemented Interfaces:
TableLookupStrategy
Direct Known Subclasses:
IndexedTableLookupStrategyCoercing

public class IndexedTableLookupStrategy
extends Object
implements TableLookupStrategy

Index lookup strategy for subqueries.


Field Summary
protected  PropertyIndexedEventTable index
          Index to look up in.
protected  EventPropertyGetter[] propertyGetters
          Getters to use to get key values.
protected  int[] streamNumbers
          Stream numbers to get key values from.
 
Constructor Summary
IndexedTableLookupStrategy(EventType[] eventTypes, int[] streamNumbers, String[] properties, PropertyIndexedEventTable index)
          Ctor.
 
Method Summary
 PropertyIndexedEventTable getIndex()
          Returns index to look up in.
protected  Object[] getKeys(EventBean[] eventsPerStream)
          Get the index lookup keys.
 String[] getProperties()
          Returns properties to use from lookup event to look up in index.
 Set<EventBean> lookup(EventBean[] eventsPerStream)
          Returns matched events for a set of events to look up for.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

streamNumbers

protected final int[] streamNumbers
Stream numbers to get key values from.


index

protected final PropertyIndexedEventTable index
Index to look up in.


propertyGetters

protected final EventPropertyGetter[] propertyGetters
Getters to use to get key values.

Constructor Detail

IndexedTableLookupStrategy

public IndexedTableLookupStrategy(EventType[] eventTypes,
                                  int[] streamNumbers,
                                  String[] properties,
                                  PropertyIndexedEventTable index)
Ctor.

Parameters:
eventTypes - is the event types per stream
streamNumbers - is the stream number per property
properties - is the key properties
index - is the table carrying the data to lookup into
Method Detail

getProperties

public String[] getProperties()
Returns properties to use from lookup event to look up in index.

Returns:
properties to use from lookup event

getIndex

public PropertyIndexedEventTable getIndex()
Returns index to look up in.

Returns:
index to use

lookup

public Set<EventBean> lookup(EventBean[] eventsPerStream)
Description copied from interface: TableLookupStrategy
Returns matched events for a set of events to look up for. Never returns an empty result set, always returns null to indicate no results.

Specified by:
lookup in interface TableLookupStrategy
Parameters:
eventsPerStream - to look up
Returns:
set of matching events, or null if none matching

getKeys

protected Object[] getKeys(EventBean[] eventsPerStream)
Get the index lookup keys.

Parameters:
eventsPerStream - is the events for each stream
Returns:
key object

toString

public String toString()
Overrides:
toString in class Object

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com