EdgesBuilder
Functions
Connects first, second, and each node in rest in order by adding an edge from each node to the next. Returns the last node so the chain can continue from it: chain(Start, a, b) is short for Start.then(a).then(b).
Connects this node to first, second, and each node in rest in order by adding an edge from each node to the next, and returns the last node. a.chain(b, c) is short for a.then(b).then(c). Unlike the chain overload that takes the first node as an argument, this form can continue a fluent chain, such as after joinTo.
Starts a chain of edges at node for Java callers. Its calls add the same edges as the Kotlin calls of the same names: g.from(a).then(b).then(c).
Starts a chain of edges at group (such as one built with nodes) for Java callers so the group can join without a fan-out.
Starts a chain of edges at nodes (such as a computed list) for Java callers so the nodes can join without a fan-out. For a fixed set of nodes, the g.from(a, b) overload is shorter.
Groups nodes without connecting them, as in a then nodes(b, c) for an infix fan-out or nodes(b, c).joinTo(join) for a join. Prefer this over listOf(b, c) for fan-outs and joins because listOf infers the nodes' closest common supertype. For some built-in nodes of different types, such as a Workflow and a JoinNode, that supertype is the framework-internal BaseNode, so the call fails to compile.
Adds this node's routing map, with an edge for each route block maps to a node. A routing map ends the statement; connect its targets onward in separate statements. An empty map throws IllegalArgumentException, and an entry not completed with then throws IllegalStateException.
Fans out to each node in targets so they run concurrently, as in a then nodes(b, c). Returns targets, which joinTo connects to a JoinNode to continue once they all complete.