as2fm.scxml_converter.scxml_entries.scxml_executable_entries.ScxmlIf

class as2fm.scxml_converter.scxml_entries.scxml_executable_entries.ScxmlIf(conditional_executions: List[Tuple[str, List[ScxmlAssign | ScxmlIf | ScxmlSend]]], else_execution: List[ScxmlAssign | ScxmlIf | ScxmlSend] | None = None)

Bases: ScxmlBase

This class represents SCXML conditionals.

__init__(conditional_executions: List[Tuple[str, List[ScxmlAssign | ScxmlIf | ScxmlSend]]], else_execution: List[ScxmlAssign | ScxmlIf | ScxmlSend] | None = None)

Class representing a conditional execution in SCXML.

Parameters:
  • conditional_executions – List of (condition - exec. body) pairs. Min n. pairs is one.

  • else_execution – Execution to be done if no condition is met.

  • cb_type – The kind of callback executing this SCXML entry.

Methods

__init__(conditional_executions[, ...])

Class representing a conditional execution in SCXML.

as_plain_scxml(struct_declarations, ...)

Convert the object to its plain SCXML version.

as_xml()

Convert the object to an XML element.

check_valid_ros_instantiations(ros_declarations)

Check if the ros instantiations have been declared.

check_validity()

Check if the object is valid.

from_xml_tree(xml_tree, custom_data_types, ...)

External interface to create a ScxmlBase object from an XML tree.

from_xml_tree_impl(xml_tree, custom_data_types)

Create a ScxmlIf object from an XML tree.

get_body()

Get the body of the object.

get_conditional_executions()

Get the conditional executions.

get_custom_data_types()

Get the container with custom data types.

get_else_execution()

Get the else execution.

get_id()

Get the ID of the object.

get_tag_name()

Get the tag name of the XML element.

get_xml_origin()

Get the xml_element this object was made from.

has_bt_blackboard_input(bt_ports_handler)

Check whether the If entry reads content from the BT Blackboard.

instantiate_bt_events(instance_id, children_ids)

Instantiate the behavior tree events in the If action, if available.

is_plain_scxml()

Check if the object is compatible with the plain SCXML standard.

set_callback_type(cb_type)

Set the cb type for this entry and its children.

set_custom_data_types(custom_data_types)

Save container with custom data types.

set_thread_id(thread_id)

Set the thread ID for the executable entries contained in the if object.

set_xml_origin(xml_origin)

Set the xml_element this object was made from.

update_bt_ports_values(bt_ports_handler)

Update the values of potential entries making use of BT ports.

as_plain_scxml(struct_declarations: ScxmlStructDeclarationsContainer, ros_declarations: ScxmlRosDeclarationsContainer) List[ScxmlIf]

Convert the object to its plain SCXML version.

as_xml() _Element

Convert the object to an XML element.

check_valid_ros_instantiations(ros_declarations: ScxmlRosDeclarationsContainer) bool

Check if the ros instantiations have been declared.

check_validity() bool

Check if the object is valid.

classmethod from_xml_tree(xml_tree: _Element, custom_data_types: Dict[str, StructDefinition], **kwargs) Self

External interface to create a ScxmlBase object from an XML tree.

classmethod from_xml_tree_impl(xml_tree: _Element, custom_data_types: Dict[str, StructDefinition]) ScxmlIf

Create a ScxmlIf object from an XML tree.

Parameters:
  • xml_tree – The XML tree to create the object from.

  • cb_type – The kind of callback executing this SCXML entry.

get_body()

Get the body of the object.

get_conditional_executions() List[Tuple[str, List[ScxmlAssign | ScxmlIf | ScxmlSend]]]

Get the conditional executions.

get_custom_data_types() Dict[str, StructDefinition]

Get the container with custom data types.

get_else_execution() List[ScxmlAssign | ScxmlIf | ScxmlSend]

Get the else execution.

get_id() str

Get the ID of the object.

static get_tag_name() str

Get the tag name of the XML element.

get_xml_origin() _Element | None

Get the xml_element this object was made from.

has_bt_blackboard_input(bt_ports_handler: BtPortsHandler)

Check whether the If entry reads content from the BT Blackboard.

instantiate_bt_events(instance_id: int, children_ids: List[int]) List[ScxmlAssign | ScxmlIf | ScxmlSend]

Instantiate the behavior tree events in the If action, if available.

is_plain_scxml() bool

Check if the object is compatible with the plain SCXML standard.

set_callback_type(cb_type: CallbackType) None

Set the cb type for this entry and its children.

set_custom_data_types(custom_data_types: Dict[str, StructDefinition])

Save container with custom data types.

set_thread_id(thread_id: int) None

Set the thread ID for the executable entries contained in the if object.

set_xml_origin(xml_origin: _Element)

Set the xml_element this object was made from.

update_bt_ports_values(bt_ports_handler: BtPortsHandler)

Update the values of potential entries making use of BT ports.