pub struct BusinessProcessModelAndNotation {
pub activity_key: ActivityKey,
pub collaboration_index: Option<(usize, ())>,
pub collaboration_id: Option<String>,
pub definitions_index: (usize, ()),
pub definitions_id: String,
pub elements: Vec<BPMNElement>,
pub message_flows: Vec<BPMNMessageFlow>,
/* private fields */
}Fields§
§activity_key: ActivityKey§collaboration_index: Option<(usize, ())>§collaboration_id: Option<String>§definitions_index: (usize, ())§definitions_id: String§elements: Vec<BPMNElement>§message_flows: Vec<BPMNMessageFlow>Implementations§
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
pub fn number_of_elements(&self) -> usize
pub fn number_of_message_flows(&self) -> usize
Sourcepub fn elements(&self) -> Vec<&BPMNElement>
pub fn elements(&self) -> Vec<&BPMNElement>
returns all elements in the model (recursively)
pub fn parent_of(&self, global_index: (usize, ())) -> Option<&dyn Processable>
Sourcepub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
pub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
Returns all sequence flows (recursive)
Sourcepub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
pub fn global_index_2_element(&self, index: (usize, ())) -> Option<&BPMNElement>
find an element with the given index
Sourcepub fn global_index_2_element_mut(
&mut self,
index: (usize, ()),
) -> Option<&mut BPMNElement>
pub fn global_index_2_element_mut( &mut self, index: (usize, ()), ) -> Option<&mut BPMNElement>
find an element with the given index
Sourcepub fn index_2_object(&self, index: (usize, ())) -> Option<&dyn BPMNObject>
pub fn index_2_object(&self, index: (usize, ())) -> Option<&dyn BPMNObject>
find the object of the given index
Sourcepub fn message_flow_index_2_source(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_source( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
return the element that is the source of the given message flow
Sourcepub fn message_flow_index_2_target(
&self,
message_flow_index: usize,
) -> Result<&BPMNElement, Error>
pub fn message_flow_index_2_target( &self, message_flow_index: usize, ) -> Result<&BPMNElement, Error>
return the element that is the target of the given message flow
Sourcepub fn global_index_2_sequence_flow_and_parent(
&self,
sequence_flow_global_index: (usize, ()),
) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
pub fn global_index_2_sequence_flow_and_parent( &self, sequence_flow_global_index: (usize, ()), ) -> Option<(&BPMNSequenceFlow, &dyn Processable)>
return the sequence flow with the given global index
pub fn transition_debug( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<String>
Sourcepub fn transition_2_marked_sequence_flows(
&self,
transition_index: usize,
marking: &BPMNMarking,
) -> Option<Vec<(usize, ())>>
pub fn transition_2_marked_sequence_flows( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Vec<(usize, ())>>
Returns the global indices of sequence flows that get a token by executing this transition.
Sourcepub fn global_index_2_sequence_flow_mut(
&mut self,
sequence_flow_global_index: (usize, ()),
) -> Option<&mut BPMNSequenceFlow>
pub fn global_index_2_sequence_flow_mut( &mut self, sequence_flow_global_index: (usize, ()), ) -> Option<&mut BPMNSequenceFlow>
return the sequence flow with this index, if it exists (recurses)
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn import_from_reader(
reader: &mut dyn BufRead,
disallow_sequence_flow_weights: bool,
) -> Result<BusinessProcessModelAndNotation, Error>where
BusinessProcessModelAndNotation: Sized,
pub fn import_from_reader(
reader: &mut dyn BufRead,
disallow_sequence_flow_weights: bool,
) -> Result<BusinessProcessModelAndNotation, Error>where
BusinessProcessModelAndNotation: Sized,
Attempts to import a BPMN model. If disallow_sequence_flow_weights is set to true, parsing will fail if any sequence flow has a weight.
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
Sourcepub fn get_initial_marking(&self) -> Result<BPMNMarking, Error>
pub fn get_initial_marking(&self) -> Result<BPMNMarking, Error>
BPMN 2.0.2 standard page 238
pub fn execute_transition( &self, marking: &mut BPMNMarking, transition_index: usize, ) -> Result<(), Error>
pub fn is_final_marking(&self, marking: &BPMNMarking) -> Result<bool, Error>
pub fn is_transition_silent( &self, transition_index: usize, marking: &BPMNMarking, ) -> bool
pub fn get_transition_activity( &self, transition_index: usize, marking: &BPMNMarking, ) -> Option<Activity>
pub fn get_enabled_transitions( &self, marking: &BPMNMarking, ) -> Result<Vec<usize>, Error>
pub fn number_of_transitions(&self, marking: &BPMNMarking) -> usize
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
pub fn is_structurally_correct(&self) -> Result<(), Error>
Trait Implementations§
Source§impl BPMNObject for BusinessProcessModelAndNotation
impl BPMNObject for BusinessProcessModelAndNotation
Source§fn global_index(&self) -> (usize, ())
fn global_index(&self) -> (usize, ())
Source§fn local_index(&self) -> usize
fn local_index(&self) -> usize
Source§fn is_unconstrained_start_event(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn is_unconstrained_start_event( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
Source§fn is_end_event(&self) -> bool
fn is_end_event(&self) -> bool
Source§fn incoming_sequence_flows(&self) -> &[usize]
fn incoming_sequence_flows(&self) -> &[usize]
Source§fn outgoing_sequence_flows(&self) -> &[usize]
fn outgoing_sequence_flows(&self) -> &[usize]
Source§fn incoming_message_flows(&self) -> &[usize]
fn incoming_message_flows(&self) -> &[usize]
Source§fn outgoing_message_flows(&self) -> &[usize]
fn outgoing_message_flows(&self) -> &[usize]
Source§fn can_start_process_instance(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn can_start_process_instance( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
Source§fn outgoing_message_flows_always_have_tokens(&self) -> bool
fn outgoing_message_flows_always_have_tokens(&self) -> bool
Source§fn outgoing_messages_cannot_be_removed(&self) -> bool
fn outgoing_messages_cannot_be_removed(&self) -> bool
true, do not produce more than 1 message and do not remove messages from message flows outgoing of this object.Source§fn incoming_messages_are_ignored(&self) -> bool
fn incoming_messages_are_ignored(&self) -> bool
true, do not produce messages on message arcs coming into this object.Source§fn can_have_incoming_sequence_flows(&self) -> bool
fn can_have_incoming_sequence_flows(&self) -> bool
Source§fn can_have_outgoing_sequence_flows(&self) -> bool
fn can_have_outgoing_sequence_flows(&self) -> bool
Source§impl Clone for BusinessProcessModelAndNotation
impl Clone for BusinessProcessModelAndNotation
Source§fn clone(&self) -> BusinessProcessModelAndNotation
fn clone(&self) -> BusinessProcessModelAndNotation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
impl From<StochasticBusinessProcessModelAndNotation> for BusinessProcessModelAndNotation
Source§fn from(
value: StochasticBusinessProcessModelAndNotation,
) -> BusinessProcessModelAndNotation
fn from( value: StochasticBusinessProcessModelAndNotation, ) -> BusinessProcessModelAndNotation
Source§impl Graphable for BusinessProcessModelAndNotation
impl Graphable for BusinessProcessModelAndNotation
fn to_dot(&self) -> Result<VisualGraph>
Source§impl HasActivityKey for BusinessProcessModelAndNotation
impl HasActivityKey for BusinessProcessModelAndNotation
fn activity_key(&self) -> &ActivityKey
fn activity_key_mut(&mut self) -> &mut ActivityKey
Source§impl Importable for BusinessProcessModelAndNotation
impl Importable for BusinessProcessModelAndNotation
Source§const IMPORTER_PARAMETERS: &[ImporterParameter]
const IMPORTER_PARAMETERS: &[ImporterParameter]
Source§const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}.
Currently, a sub-set of elements is supported."
const FILE_FORMAT_SPECIFICATION_LATEX: &str = "A Business Process Model and Notation (BPMN) model follows the OMG 2.0.2 standard~\\cite{omg2011bpmn}. Currently, a sub-set of elements is supported."
fn import_as_object( reader: &mut dyn BufRead, parameter_values: &ImporterParameterValues, ) -> Result<EbiObject>
Source§fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
fn import(
reader: &mut dyn BufRead,
_parameter_values: &ImporterParameterValues,
) -> Result<Self>where
Self: Sized,
IMPORTER_PARAMETERS.fn default_importer_parameter_values() -> ImporterParameterValues
Source§impl Processable for BusinessProcessModelAndNotation
impl Processable for BusinessProcessModelAndNotation
Source§fn elements_non_recursive(&self) -> &Vec<BPMNElement>
fn elements_non_recursive(&self) -> &Vec<BPMNElement>
Source§fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
Source§fn to_sub_marking(
&self,
_initiation_mode: &InitiationMode<'_>,
) -> Result<BPMNSubMarking, Error>
fn to_sub_marking( &self, _initiation_mode: &InitiationMode<'_>, ) -> Result<BPMNSubMarking, Error>
Source§fn is_sub_process(&self) -> bool
fn is_sub_process(&self) -> bool
Source§fn sequence_flow_index_2_source(
&self,
sequence_flow_index: usize,
) -> Result<&BPMNElement, Error>
fn sequence_flow_index_2_source( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>
Source§fn sequence_flow_index_2_target(
&self,
sequence_flow_index: usize,
) -> Result<&BPMNElement, Error>
fn sequence_flow_index_2_target( &self, sequence_flow_index: usize, ) -> Result<&BPMNElement, Error>
Source§impl TranslateActivityKey for BusinessProcessModelAndNotation
impl TranslateActivityKey for BusinessProcessModelAndNotation
Source§fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)
Source§impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
impl TryFrom<BusinessProcessModelAndNotation> for StochasticBusinessProcessModelAndNotation
Source§fn try_from(
value: BusinessProcessModelAndNotation,
) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
fn try_from( value: BusinessProcessModelAndNotation, ) -> Result<StochasticBusinessProcessModelAndNotation, <StochasticBusinessProcessModelAndNotation as TryFrom<BusinessProcessModelAndNotation>>::Error>
Attempt to transform a BPMN model into an SBPMN model. This is possible if the appropriate sequence flows are annotated with weights.
Auto Trait Implementations§
impl Freeze for BusinessProcessModelAndNotation
impl RefUnwindSafe for BusinessProcessModelAndNotation
impl Send for BusinessProcessModelAndNotation
impl Sync for BusinessProcessModelAndNotation
impl Unpin for BusinessProcessModelAndNotation
impl UnsafeUnpin for BusinessProcessModelAndNotation
impl UnwindSafe for BusinessProcessModelAndNotation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
Source§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.Source§impl<T> ToDebugString for Twhere
T: Debug,
impl<T> ToDebugString for Twhere
T: Debug,
Source§fn to_debug_string(&self) -> String
fn to_debug_string(&self) -> String
Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.