adams.flow.control.Switch
Emulates a Switch control statement. The first 'condition' that evaluates to 'true' executes the corresponding 'case' actor and stops evaluation of conditions.
A catch-all or default can be set up as well by having one more 'case' than 'conditions' (the last case acts as default).
If any output is generated then this gets recorded and forwarded in the flow.
Normally, the number of conditions and number of switch branches have to be the same. A special case are adams.flow.condition.bool.IndexedBooleanCondition conditions. They can be used alone, as they determine which switch branch to use.
Flow input/output:
- input: adams.flow.core.Unknown
- output: adams.flow.core.Unknown
Actor handler information:
- Actor execution: PARALLEL
- Standalones allowed: false
- Source allowed: true
- Forwards input: true
The logging level for outputting errors and debugging output.
command-line | -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> |
default | WARNING |
min-user-mode | Expert |
The name of the actor.
command-line | -name <java.lang.String> |
default | Switch |
The annotations to attach to this actor.
command-line | -annotation <adams.core.base.BaseAnnotation> |
default |
|
If set to true, transformation is skipped and the input token is just forwarded as it is.
command-line | -skip <boolean> |
default | false |
If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors.
command-line | -stop-flow-on-error <boolean> |
default | false |
min-user-mode | Expert |
If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well.
command-line | -silent <boolean> |
default | false |
min-user-mode | Expert |
If enabled, actor first finishes processing all data before stopping.
command-line | -finish-before-stopping <boolean> |
default | false |
The timeout in milliseconds when waiting for actors to finish (<= 0 for infinity; see 'finishBeforeStopping').
command-line | -stopping-timeout <int> |
default | -1 |
minimum | -1 |
The interval in milliseconds to output logging warnings if the actors haven't stopped yet (and no stopping timeout set); no warning if <= 0.
command-line | -stopping-warning-interval <int> |
default | 10000 |
minimum | -1 |
The switch conditions to evaluate - the first condition that evaluates to 'true' triggers the execution of the corresponding 'case' actor.
command-line | -condition <adams.flow.condition.bool.BooleanCondition> [-condition ...] |
default | adams.flow.condition.bool.True |
The 'cases' - one of them gets executed if the corresponding 'condition' evaluates to 'true'.
command-line | -case <adams.flow.core.Actor> [-case ...] |
default | adams.flow.sink.Null |
If enabled, the token passing through is not required to have a payload (eg generated by the Start source).
command-line | -lenient <boolean> |
default | false |