public class JoinSetComposerImpl extends java.lang.Object implements JoinSetComposer
Constructor and Description |
---|
JoinSetComposerImpl(java.util.Map<java.lang.String,EventTable>[] repositories,
QueryStrategy[] queryStrategies,
boolean isPureSelfJoin,
ExprEvaluatorContext exprEvaluatorContext,
boolean joinRemoveStream)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
destroy()
Destroy stateful index tables, if any.
|
void |
init(EventBean[][] eventsPerStream)
Provides initialization events per stream to composer to populate join indexes, if required
|
UniformPair<java.util.Set<MultiKey<EventBean>>> |
join(EventBean[][] newDataPerStream,
EventBean[][] oldDataPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Return join tuple result set from new data and old data for each stream.
|
java.util.Set<MultiKey<EventBean>> |
staticJoin()
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.
|
void |
visitIndexes(StatementAgentInstancePostLoadIndexVisitor visitor) |
public JoinSetComposerImpl(java.util.Map<java.lang.String,EventTable>[] repositories, QueryStrategy[] queryStrategies, boolean isPureSelfJoin, ExprEvaluatorContext exprEvaluatorContext, boolean joinRemoveStream)
repositories
- - for each stream an array of (indexed/unindexed) tables for lookup.queryStrategies
- - for each stream a strategy to execute the joinisPureSelfJoin
- - for self-join onlyexprEvaluatorContext
- expression evaluation contextpublic void init(EventBean[][] eventsPerStream)
JoinSetComposer
init
in interface JoinSetComposer
eventsPerStream
- is an array of events for each stream, with null elements to indicate no events for a streampublic void destroy()
JoinSetComposer
destroy
in interface JoinSetComposer
public UniformPair<java.util.Set<MultiKey<EventBean>>> join(EventBean[][] newDataPerStream, EventBean[][] oldDataPerStream, ExprEvaluatorContext exprEvaluatorContext)
JoinSetComposer
join
in interface JoinSetComposer
newDataPerStream
- - for each stream the event array (can be null).oldDataPerStream
- - for each stream the event array (can be null).exprEvaluatorContext
- expression evaluation contextpublic java.util.Set<MultiKey<EventBean>> staticJoin()
JoinSetComposer
staticJoin
in interface JoinSetComposer
public void visitIndexes(StatementAgentInstancePostLoadIndexVisitor visitor)
visitIndexes
in interface JoinSetComposer