Class RootCartProdAssemblyNode
java.lang.Object
com.espertech.esper.common.internal.epl.join.assemble.BaseAssemblyNode
com.espertech.esper.common.internal.epl.join.assemble.RootCartProdAssemblyNode
- All Implemented Interfaces:
ResultAssembler
Assembly node for an event stream that is a root with a two or more child nodes below it.
-
Field Summary
Fields inherited from class com.espertech.esper.common.internal.epl.join.assemble.BaseAssemblyNode
childNodes, numStreams, parentNode, streamNum
-
Constructor Summary
ConstructorDescriptionRootCartProdAssemblyNode
(int streamNum, int numStreams, boolean allSubStreamsOptional, int[] childStreamIndex) Ctor. -
Method Summary
Modifier and TypeMethodDescriptionprotected static int[][]
computeCombined
(int[][] subStreamsPerChild) Compute an array of supersets of sub stream numbers per stream, for at least 3 or more streams.void
Provides results to assembly nodes for initialization.void
print
(IndentWriter indentWriter) Output this node using writer, not outputting child nodes.void
Process results.void
result
(EventBean[] row, int fromStreamNum, EventBean myEvent, Node myNode, Collection<EventBean[]> resultFinalRows, EventBean resultRootEvent) Publish a result row.Methods inherited from class com.espertech.esper.common.internal.epl.join.assemble.BaseAssemblyNode
addChild, getChildNodes, getStreamNum, getSubstreams, setParentAssembler
-
Constructor Details
-
RootCartProdAssemblyNode
public RootCartProdAssemblyNode(int streamNum, int numStreams, boolean allSubStreamsOptional, int[] childStreamIndex) Ctor.- Parameters:
streamNum
- - is the stream numbernumStreams
- - is the number of streamsallSubStreamsOptional
- - true if all substreams are optional and none are requiredchildStreamIndex
- indexes for child streams
-
-
Method Details
-
init
Description copied from class:BaseAssemblyNode
Provides results to assembly nodes for initialization.- Specified by:
init
in classBaseAssemblyNode
- Parameters:
result
- is a list of result nodes per stream
-
process
public void process(List<Node>[] result, Collection<EventBean[]> resultFinalRows, EventBean resultRootEvent) Description copied from class:BaseAssemblyNode
Process results.- Specified by:
process
in classBaseAssemblyNode
- Parameters:
result
- is a list of result nodes per streamresultFinalRows
- final row collectionresultRootEvent
- root event
-
result
public void result(EventBean[] row, int fromStreamNum, EventBean myEvent, Node myNode, Collection<EventBean[]> resultFinalRows, EventBean resultRootEvent) Description copied from interface:ResultAssembler
Publish a result row.- Parameters:
row
- is the result to publishfromStreamNum
- is the originitor that publishes the rowmyEvent
- is optional and is the event that led to the row resultmyNode
- is optional and is the result node of the event that led to the row resultresultFinalRows
- is the final result rowsresultRootEvent
- root event
-
print
Description copied from class:BaseAssemblyNode
Output this node using writer, not outputting child nodes.- Specified by:
print
in classBaseAssemblyNode
- Parameters:
indentWriter
- to use for output
-
computeCombined
protected static int[][] computeCombined(int[][] subStreamsPerChild) Compute an array of supersets of sub stream numbers per stream, for at least 3 or more streams.- Parameters:
subStreamsPerChild
- is for each stream number a list of direct child sub streams- Returns:
- an array in with length (subStreamsPerChild.lenght - 2) in which array[0] contains the streams for subStreamsPerChild[0] and subStreamsPerChild[1] combined, and array[1] contains the streams for subStreamsPerChild[0], subStreamsPerChild[1] and subStreamsPerChild[2] combined
-