/************************************************************************************** * Copyright (C) 2008 EsperTech, Inc. All rights reserved. * * http://esper.codehaus.org * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * **************************************************************************************/ package com.espertech.esper.epl.join.base; import com.espertech.esper.epl.expression.ExprEvaluatorContext; import com.espertech.esper.epl.join.table.EventTable; import com.espertech.esper.client.EventBean; import java.util.Iterator; /** * Strategy for use in poll-based joins to reduce a cached result set (represented by {@link EventTable}), in * which the cache result set may have been indexed, to fewer rows following the join-criteria in a where clause. */ public interface HistoricalIndexLookupStrategy { /** * Look up into the index, potentially using some of the properties in the lookup event, * returning a partial or full result in respect to the index. * @param lookupEvent provides properties to use as key values for indexes * @param index is the table providing the cache result set, potentially indexed by index fields * @return full set or partial index iterator */ public Iterator<EventBean> lookup(EventBean lookupEvent, EventTable index, ExprEvaluatorContext context); public String toQueryPlan(); }