Class JoinSetComposerStreamToWinImpl
java.lang.Object
com.espertech.esper.common.internal.epl.join.base.JoinSetComposerStreamToWinImpl
- All Implemented Interfaces:
JoinSetComposer
Implements the function to determine a join result for a unidirectional stream-to-window joins,
in which a single stream's events are ever only evaluated using a query strategy.
-
Constructor Summary
ConstructorDescriptionJoinSetComposerStreamToWinImpl
(boolean allowInitIndex, Map<TableLookupIndexReqKey, EventTable>[] repositories, boolean isPureSelfJoin, int streamNumber, QueryStrategy queryStrategy, boolean[] selfJoinRepositoryResets) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(EventTableVisitor visitor) boolean
Returns true whether initialization events per stream to populate join indexes can be processed (init method).void
destroy()
Destroy stateful index tables, if any.void
init
(EventBean[][] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext) Provides initialization events per stream to composer to populate join indexes, if requiredjoin
(EventBean[][] newDataPerStream, EventBean[][] oldDataPerStream, ExprEvaluatorContext exprEvaluatorContext) Return join tuple result set from new data and old data for each stream.For use in iteration over join statements, this must build a join tuple result set from all events in indexes, executing query strategies for each.
-
Constructor Details
-
JoinSetComposerStreamToWinImpl
public JoinSetComposerStreamToWinImpl(boolean allowInitIndex, Map<TableLookupIndexReqKey, EventTable>[] repositories, boolean isPureSelfJoin, int streamNumber, QueryStrategy queryStrategy, boolean[] selfJoinRepositoryResets)
-
-
Method Details
-
allowsInit
public boolean allowsInit()Description copied from interface:JoinSetComposer
Returns true whether initialization events per stream to populate join indexes can be processed (init method).- Specified by:
allowsInit
in interfaceJoinSetComposer
- Returns:
- whether init is supported
-
init
Description copied from interface:JoinSetComposer
Provides initialization events per stream to composer to populate join indexes, if required- Specified by:
init
in interfaceJoinSetComposer
- Parameters:
eventsPerStream
- is an array of events for each stream, with null elements to indicate no events for a streamexprEvaluatorContext
- evaluator context
-
destroy
public void destroy()Description copied from interface:JoinSetComposer
Destroy stateful index tables, if any.- Specified by:
destroy
in interfaceJoinSetComposer
-
join
public UniformPair<Set<MultiKeyArrayOfKeys<EventBean>>> join(EventBean[][] newDataPerStream, EventBean[][] oldDataPerStream, ExprEvaluatorContext exprEvaluatorContext) Description copied from interface:JoinSetComposer
Return join tuple result set from new data and old data for each stream.- Specified by:
join
in interfaceJoinSetComposer
- Parameters:
newDataPerStream
- - for each stream the event array (can be null).oldDataPerStream
- - for each stream the event array (can be null).exprEvaluatorContext
- expression evaluation context- Returns:
- join tuples
-
staticJoin
Description copied from interface:JoinSetComposer
For use in iteration over join statements, this must build a join tuple result set from all events in indexes, executing query strategies for each.- Specified by:
staticJoin
in interfaceJoinSetComposer
- Returns:
- static join result
-
accept
- Specified by:
accept
in interfaceJoinSetComposer
-