use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CmmnPlanItemTransition {
#[serde(rename = "Close")]
Close,
#[serde(rename = "Complete")]
Complete,
#[serde(rename = "Create")]
Create,
#[serde(rename = "Disable")]
Disable,
#[serde(rename = "Enable")]
Enable,
#[serde(rename = "Exit")]
Exit,
#[serde(rename = "Fault")]
Fault,
#[serde(rename = "ManualStart")]
ManualStart,
#[serde(rename = "Occur")]
Occur,
#[serde(rename = "ParentResume")]
ParentResume,
#[serde(rename = "ParentSuspend")]
ParentSuspend,
#[serde(rename = "Reactivate")]
Reactivate,
#[serde(rename = "Reenable")]
Reenable,
#[serde(rename = "Resume")]
Resume,
#[serde(rename = "Start")]
Start,
#[serde(rename = "Suspend")]
Suspend,
#[serde(rename = "Terminate")]
Terminate,
#[serde(rename = "AsyncActivate")]
AsyncActivate,
#[serde(rename = "AsyncLeaveActive")]
AsyncLeaveActive,
#[serde(rename = "Initiate")]
Initiate,
#[serde(rename = "Dismiss")]
Dismiss,
}
impl std::fmt::Display for CmmnPlanItemTransition {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Close => write!(f, "Close"),
Self::Complete => write!(f, "Complete"),
Self::Create => write!(f, "Create"),
Self::Disable => write!(f, "Disable"),
Self::Enable => write!(f, "Enable"),
Self::Exit => write!(f, "Exit"),
Self::Fault => write!(f, "Fault"),
Self::ManualStart => write!(f, "ManualStart"),
Self::Occur => write!(f, "Occur"),
Self::ParentResume => write!(f, "ParentResume"),
Self::ParentSuspend => write!(f, "ParentSuspend"),
Self::Reactivate => write!(f, "Reactivate"),
Self::Reenable => write!(f, "Reenable"),
Self::Resume => write!(f, "Resume"),
Self::Start => write!(f, "Start"),
Self::Suspend => write!(f, "Suspend"),
Self::Terminate => write!(f, "Terminate"),
Self::AsyncActivate => write!(f, "AsyncActivate"),
Self::AsyncLeaveActive => write!(f, "AsyncLeaveActive"),
Self::Initiate => write!(f, "Initiate"),
Self::Dismiss => write!(f, "Dismiss"),
}
}
}
impl Default for CmmnPlanItemTransition {
fn default() -> CmmnPlanItemTransition {
Self::Close
}
}