use std::collections::HashSet;
use crate::model::{diagram::ProcessContentRef, id::BpmnId};
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Activity {
pub activity_type: ActivityType,
pub id: BpmnId,
pub name: Option<String>,
pub input_data : HashSet<BpmnId>,
pub output_data : HashSet<BpmnId>
}
impl Activity {
pub fn new(activity_type: ActivityType, id: BpmnId, name: Option<String>, input_data: HashSet<BpmnId>, output_data: HashSet<BpmnId>) -> Self {
Self { activity_type, id, name, input_data, output_data }
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ActivityType {
Task,
ServiceTask,
UserTask,
ScriptTask,
ReceiveTask,
SendTask,
ManualTask,
BusinessRuleTask,
CallActivity,
SubProcess(ProcessContentRef),
}