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

public class RootCartProdAssemblyNode extends BaseAssemblyNode
Assembly node for an event stream that is a root with a two or more child nodes below it.
  • Constructor Details

    • RootCartProdAssemblyNode

      public RootCartProdAssemblyNode(int streamNum, int numStreams, boolean allSubStreamsOptional, int[] childStreamIndex)
      Ctor.
      Parameters:
      streamNum - - is the stream number
      numStreams - - is the number of streams
      allSubStreamsOptional - - true if all substreams are optional and none are required
      childStreamIndex - indexes for child streams
  • Method Details

    • init

      public void init(List<Node>[] result)
      Description copied from class: BaseAssemblyNode
      Provides results to assembly nodes for initialization.
      Specified by:
      init in class BaseAssemblyNode
      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 class BaseAssemblyNode
      Parameters:
      result - is a list of result nodes per stream
      resultFinalRows - final row collection
      resultRootEvent - 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 publish
      fromStreamNum - is the originitor that publishes the row
      myEvent - is optional and is the event that led to the row result
      myNode - is optional and is the result node of the event that led to the row result
      resultFinalRows - is the final result rows
      resultRootEvent - root event
    • print

      public void print(IndentWriter indentWriter)
      Description copied from class: BaseAssemblyNode
      Output this node using writer, not outputting child nodes.
      Specified by:
      print in class BaseAssemblyNode
      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