Locate the ruleset , expand the ruleset node, the Decision Tables folder and double-click a decision table node.
or
Locate the flow ruleset , expand the flow ruleset node, the Decision Tables folder and double-click a decision table node.
In the decision table editor, expand the decision table, under the Header section, you can set the following properties to true or false for a decision table:
Return multiple matches
If this property is set to true, the engine tries to evaluate more than one condition row of a decision table even if one row is already satisfied.
Rows are mutually exclusive
The engine evaluates the next row in a decision table only when all the condition stubs of a row are satisfied. However, if this property is set to false, the engine evaluates all other rows even if all the condition stubs of a row do not get satisfied.
Rows are mutually exclusive should be set to true and Return multiple matches should be set to false for normal Decision Table evaluation.
Customer.getID() |
Customer.getName() |
Customer.setName() |
Customer.setAge() |
---|---|---|---|
1 |
John |
a |
25 |
2 |
* |
b |
30 |
* |
* |
John |
- |
Return multiple matches
Input>
Customer id=1 , name = John
Return multiple matches - set to false
Output>
Only action of row 1 will be satisfied.
Customer name=a, age=25
Return multiple matches - set to true
Output>
Only action of row 1and row 3 will be satisfied.
Customer name=John, age=25
Rows are mutually exclusive
Input Customer id=1 , name = Kumar
Rows are mutually exclusive - set to true
No action will be fired.
Rows are mutually exclusive - set to false
Action of row 3 will be fired.