SAService Architect Back to designer
SAService ArchitectDocumentation
Stream type T → exactly one When branch

Case

Builds an exclusive runtime selector over its ordered When consumers.

When to use

Use Case for content- or type-based routing where exactly one downstream branch must receive each value.

Behavior

  • During graph construction, each attached When receives a zero-based index in generated consumer order.
  • The generated Case implementation builds a selector and returns one of those indices for every T.
  • The original value is delivered only to the selected When; Case does not duplicate it across branches.
  • The default Go selector can map the runtime value type to the corresponding When valueType; custom generated implementations can route by message content.

General properties

Identity, ownership and operator-specific mode.

PropertyTypeDescription
typeTransformationType

Operator kind. It controls available properties, valid sources and generated interfaces.

RequiredAllowed: Input, Map, Filter, Join, MultiJoin, Process, FlatMap, FlatMapIterable, KeyBy, Merge, Split, Case, Sink, CycleLink, Error, Delay, When
namestring

Human-readable stream name shown in the designer and used to derive default generated symbols.

Required
serviceService

Service that owns the stream. Connected streams must belong to the same service.

Required

Connections properties

Upstream graph references accepted by this operator.

PropertyTypeDescription
sourceStream

Single upstream stream. The designer only offers structurally and type-compatible candidates.

Required

Function properties

Generated business-logic implementation and its placement.

PropertyTypeDescription
functionNamesymbol

Generated business-logic type or function name.

Required
functionPackagerelative path

Optional placement below the target-language functions root. Leave empty to use that root directly. A value such as folder/sub-folder is relative to the private or public functions root selected by publicFunction; nested-path handling is language-specific and is documented in Code Generation / Packages and Modules.

Default: empty (functions root)
publicFunctionboolean

Places the generated function in a shared package instead of the service-internal package.

Default: false
functionDescriptiontext

Documentation comment emitted with the generated function.

functionInitializerGroupstring

Dependency-injection initialization group for the generated function.

functionModuleModule

Shared module that owns the function.

Visible when publicFunction is true.

Execution properties

Pipeline placement and runtime policy.

PropertyTypeDescription
pipelinestring

Visual and configuration grouping inside the owning service.

Position properties

Designer-only canvas coordinates.

PropertyTypeDescription
xPosnumber

Horizontal designer coordinate. It has no runtime effect.

Required
yPosnumber

Vertical designer coordinate. It has no runtime effect.

Required

Configuration example

type: Case
source: multiJoinAnalyticsEvents
functionName: RouteAnalyticsResult