yasmin_editor.model.concurrence module

Concurrence model.

class yasmin_editor.model.concurrence.Concurrence(name: str, description: str = '', keys: list[Key] = <factory>, outcomes: list[Outcome] = <factory>, parameters: list[Parameter] = <factory>, remappings: dict[str, str] = <factory>, parameter_mappings: dict[str, str] = <factory>, state_type: str | None = None, module: str | None = None, class_name: str | None = None, package_name: str | None = None, file_name: str | None = None, default_outcome: str | None = None, states: dict[str, State] = <factory>, outcome_map: dict[str, dict[str, list[str]]] = <factory>, layout: Layout = <factory>, text_blocks: list[TextBlock] = <factory>)

Bases: State

Represents a YASMIN concurrence container.

add_outcome(outcome) None

Add a final outcome to the concurrence.

add_state(state: State) None

Add a child state to the concurrence.

add_text_block(text_block: TextBlock) None

Add a free-form text block to the container.

class_name: str | None
default_outcome: str | None
description: str
file_name: str | None
get_state(name: str) State | None

Return a child state by name.

property is_container: bool

Return whether this state contains child states.

keys: list[Key]
layout: Layout
module: str | None
name: str
outcome_map: dict[str, dict[str, list[str]]]
outcomes: list[Outcome]
package_name: str | None
parameter_mappings: dict[str, str]
parameters: list[Parameter]
remappings: dict[str, str]
remove_outcome(name: str) None

Remove a final outcome and its outcome-map rule.

remove_outcome_rule(outcome: str, state_name: str, state_outcome: str | None = None) None

Remove one outcome rule entry from the concurrence.

remove_state(name: str) None

Remove a child state and all related outcome rules.

remove_text_block(text_block: TextBlock) None

Remove one free-form text block from the container.

rename_child_state_outcome(state_name: str, old_outcome: str, new_outcome: str) None

Rename one child-state outcome used by the outcome map.

rename_outcome(old_name: str, new_name: str) None

Rename a final outcome and update all related references.

rename_state(old_name: str, new_name: str) None

Rename a child state and update all related outcome rules.

set_outcome_rule(outcome: str, state_name: str, state_outcome: str) None

Set one outcome rule entry for the concurrence.

state_type: str | None
states: dict[str, State]
text_blocks: list[TextBlock]
to_string(indent: int = 0) str

Return a human-readable representation of the concurrence.

yasmin_editor.model.concurrence.iter_outcome_rule_values(values: str | list[str]) list[str]

Return one normalized list of unique child outcomes.