Reference
Stream types
One article for every stream operator implemented by the designer and ServiceLib.
Sources and destinations
Transformations
MapTransforms every input value into exactly one output value.
T → RFilterKeeps values that satisfy a generated predicate.T → T?FlatMapExpands one input into zero or more output values using business logic.T → 0..N RFlatMapIterableUnwraps an iterable stream without a generated function.Iterable<R> → RProcessRuns stateful or side-effecting processing with a dedicated error output.T → 0..N R + EKeys and state
KeyByBuilds an explicitly keyed stream for stateful correlation.
T → KeyValue<K,V>JoinCorrelates exactly two keyed inputs and exposes their accumulated values to one stateful callback.KeyValue<K,A> + KeyValue<K,B> → RMultiJoinCorrelates two or more keyed inputs with a variable, ordered set of value slots.KeyValue<K,V0> + ... + KeyValue<K,Vn> → RRouting and topology
MergeCombines multiple streams of the same message type.
N × T → TSplitBroadcasts each value to multiple downstream consumers.T → N × TCaseBuilds an exclusive runtime selector over its ordered When consumers.T → exactly one When branchWhenDeclares one typed output branch registered on a Case stream.Case<T>[branch index] → RErrorConsumes the typed error side output of Input, Process or Sink.EDelayDefers downstream delivery by a fixed or per-element duration.T → T laterCycleLinkMarks an explicit feedback path to an earlier graph node.T ↺