Summary
This block is used to divide a strategy into several flows depending on a condition based on the type of a component.Only one flow will be executed.
Implementation
-
Drag and drop the block from the palette
-
Link the "execute" action from the "executed" topic of the previous block
-
Click right and trigger the action SetCaseCount. Define the number of cases you want to define.
-
Link topics "DefaultTopic" and "topicX" to block(s) to execute depending the case
Example
In the following example, the block checks the type of the parent of the origin, whether it's a NumericPoint, a BooleanPoint etc.
Properties
-
Target: SFormat to define a component. Its type will be compared to the following values.
-
ComparePolicy { Is, Equals }: To define the way the target type will be compared to listed types.
Is: The target's type should be the described type or a "child" of this type. Ex: Case 2: the target could be a BooleanPoint or a BooleanWritableEquals: The target's type should be exactly the described type. Ex: Case 2: the target should be a BooleanPoint. A BooleanWritable won't satisfy the condition -
DefaultCase: If no case is equal to the parameter.
-
CaseX: Possible values for the parameter.
Actions
-
SetCaseCount: To set the count of cases to handle. The default one is not taken into account.
Behavior: DO & UNDO
The topic of the only valid case will be triggered. Others won't.