How does plantuml represent a multiple cases decision node?

Viewed 293

I would like to change the following diagram to have a single decision node (three branches) and a single merge node.

enter image description here

Is such a diagram possible with plantuml? The above diagram results from this code:

@startuml
skinparam ConditionEndStyle diamond
:A;
if (case1) then (yes)
    :B1;
else (no)
if (case 2) then (yes)
    :B2;
else (no)
    :B3;
endif
endif
:C;
@enduml

I know about elseif; it does not produce the result I seek. (It retains two decision nodes, and uses a bar instead of a merge node; is this even valid UML?) I would reluctantly consider a ConditionalNode as an alternative, but I don't see a way to construct one in plantuml.

1 Answers

This could work with the switch conditional:

@startuml
:A;
switch (test?)
case (case1)
    :B1;
case (case 2)
    :B2;
case (else)
    :B3;
endswitch
:C;
@enduml

enter image description here

Related