pub struct TransitionPlan {
pub action: String,
pub event: String,
pub from_states: Vec<String>,
pub to_state: String,
pub guard: Option<String>,
pub effects: Vec<String>,
}Expand description
A serializable description of a state-transition write, derived from the
declared StateMachine + ActionDef.
Carries no behavior — the consumer interprets it against a concrete entity.
to_state is sourced only from Transition.to, eliminating the duplicated
hand-written transition target on the write path.
Fields§
§action: StringActionDef.name that produced this plan.
event: String= ActionDef.transition_trigger; the StateMachine event name.
from_states: Vec<String>Every Transition.from carrying this event (multi-source aware).
to_state: StringTransition.to — the single target. Replaces the hand-written match.
guard: Option<String>Transition.guard, if any — re-checked LIVE at execution (EXEC-02).
effects: Vec<String>Transition.actions ∪ ActionDef.effects — override-hook inputs.
Trait Implementations§
Source§impl Clone for TransitionPlan
impl Clone for TransitionPlan
Source§fn clone(&self) -> TransitionPlan
fn clone(&self) -> TransitionPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TransitionPlan
impl Debug for TransitionPlan
Source§impl<'de> Deserialize<'de> for TransitionPlan
impl<'de> Deserialize<'de> for TransitionPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TransitionPlan
Source§impl JsonSchema for TransitionPlan
impl JsonSchema for TransitionPlan
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for TransitionPlan
impl PartialEq for TransitionPlan
Source§fn eq(&self, other: &TransitionPlan) -> bool
fn eq(&self, other: &TransitionPlan) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for TransitionPlan
impl Serialize for TransitionPlan
impl StructuralPartialEq for TransitionPlan
Auto Trait Implementations§
impl Freeze for TransitionPlan
impl RefUnwindSafe for TransitionPlan
impl Send for TransitionPlan
impl Sync for TransitionPlan
impl Unpin for TransitionPlan
impl UnsafeUnpin for TransitionPlan
impl UnwindSafe for TransitionPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more