sfini.state.choice module¶
SFN choice rules.
These rules are used in the ‘Choice’ state of a state-machine, and allow for conditional branching in the state-machine. There are two types of choice rule: comparisons and logical operations.
-
class
sfini.state.choice.And(choice_rules: List[sfini.state.choice.ChoiceRule], next_state=None)[source]¶ Bases:
sfini.state.choice._NonUnary
-
class
sfini.state.choice.BooleanEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.ChoiceRule(next_state=None)[source]¶ Bases:
objectA choice case for the ‘Choice’ state.
Parameters: next_state (sfini.state.State) – state to execute on success
-
class
sfini.state.choice.Comparison(variable_path: str, comparison_value, next_state=None)[source]¶ Bases:
sfini.state.choice.ChoiceRuleCompare variable value.
Parameters: - variable_path – path of variable to compare
- comparison_value – value to compare against
- next_state – state to execute on success
-
class
sfini.state.choice.Not(choice_rule: sfini.state.choice.ChoiceRule, next_state=None)[source]¶ Bases:
sfini.state.choice.LogicalLogical ‘not’ operation on a choice rule.
Parameters: - choice_rule – choice rule to operate on
- next_state – state to execute on success
-
class
sfini.state.choice.NumericEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.NumericGreaterThan(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.NumericGreaterThanEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.NumericLessThan(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.NumericLessThanEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.Or(choice_rules: List[sfini.state.choice.ChoiceRule], next_state=None)[source]¶ Bases:
sfini.state.choice._NonUnary
-
class
sfini.state.choice.StringEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.StringGreaterThan(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.StringGreaterThanEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.StringLessThan(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.StringLessThanEquals(variable_path: str, comparison_value, next_state=None)[source]¶
-
class
sfini.state.choice.TimestampEquals(variable_path: str, comparison_value, next_state=None)[source]¶ Bases:
sfini.state.choice._TimestampRule
-
class
sfini.state.choice.TimestampGreaterThan(variable_path: str, comparison_value, next_state=None)[source]¶ Bases:
sfini.state.choice._TimestampRule
-
class
sfini.state.choice.TimestampGreaterThanEquals(variable_path: str, comparison_value, next_state=None)[source]¶ Bases:
sfini.state.choice._TimestampRule