Class Join<I1,​I2,​O>

All Implemented Interfaces:
FlowOut<O>, Node, Comparable<Node>

public class Join<I1,​I2,​O>
extends BiNode
implements FlowOut<O>
Joins are a point of passage joining two upstream branchs of a DAG. They accept two inputs from upstream, produce a joined output using a provided BiTransformer implementation, then pass it downstream.
Author:
Pierre Lecerf ([email protected]) Created on 2020/03/01
  • Constructor Details

  • Method Details

    • getActor

      public BiTransformer<I1,​I2,​O> getActor()
      Returns:
    • into

      public <N> Pipe<O,​N> into​(Transformer<O,​N> transformer)
      Description copied from interface: FlowOut
      Binds the current node into a Transformer, resulting in a new Pipe node.
      Specified by:
      into in interface FlowOut<I1>
      Type Parameters:
      N - Output type of the pipe node
      Parameters:
      transformer - a Transformer actor
      Returns:
      the resulting Pipe node
    • into

      public Sink<O> into​(Loader<O> loader)
      Description copied from interface: FlowOut
      Binds the current node into a Loader, resulting in a new Sink node.
      Specified by:
      into in interface FlowOut<I1>
      Parameters:
      loader - a Loader actor
      Returns:
      the resulting Sink node
    • join

      public <JI,​ JO> Join<O,​JI,​JO> join​(FlowOut<JI> input, BiTransformer<O,​JI,​JO> transformer)
      Description copied from interface: FlowOut
      Joins the current node with another flow using a bi-transformer join function.
      Specified by:
      join in interface FlowOut<I1>
      Type Parameters:
      JI - Input type from another flow
      JO - Output type of the joined flow
      Parameters:
      input - Flow with which to join the current flow.
      transformer - A bi-transformer function for performing the join.
      Returns:
      the resulting Join node
    • stream

      public <N> StreamGenerator<O,​N> stream​(Function<O,​Generator<N>> generatorSupplier)
      Description copied from interface: FlowOut
      Initiates a stream from the current node, results in a new StreamGenerator node.
      Specified by:
      stream in interface FlowOut<I1>
      Type Parameters:
      N - Output type of the stream generator node
      Parameters:
      generatorSupplier - a Generator creation function
      Returns:
      the resulting StreamGenerator node
    • drift

      public Join<I1,​I2,​O> drift​(Loader<O> loader)
      Parameters:
      loader -
      Returns:
    • collect

      public Recipient<O> collect​(String name)
      Specified by:
      collect in interface FlowOut<I1>
      Returns:
    • sample

      public Join<I1,​I2,​O> sample​(String name)
      Parameters:
      name -
      Returns: