To make an action occur only if a specified condition applies, add
a set of guard conditions. Within each guard condition, use the onTrue and
onFalse attributes to determine what happens when the passes or fails the
evaluation of the condition. The values of the attributes are one of the flow
modifiers:
- continue - (default) The flow resumes by evaluating the next condition
associated with the action.
- skipConditions - The flow resumes by skipping all the conditions
associated with the action and executes the action.
- skipAction - The flow resumes by skipping the action and processing
the next action.
- skipAllActions - The flow resumes by skipping all the actions
and moving to the target state that is defined for configured to the transition.
- changeState("targetStateName") - The Processor exits the current
state and moves into the given targetStateName without executing the action.
- execAndChangeState("targetStateName") - The Processor executes
the action, exits the current state, and moves to the given targetStateName.
- abortProcess - The current state and the processor are aborted.
This should only be used in very seldom cases when an exceptional event happens.
The following example demonstrates how to apply these conditions:
<conditions>
<checkPINCode onTrue="continue"
onFalse="changeState(confirmationPage)">
</conditions>
If the PIN contained in the context hierarchy for the action passes
the checkPINCode evaluation, the validating class returns true and the processor
performs the action containing this condition. If the validating class returns
false, the processor transitions to the confirmation page state instead of
performing the action.