pub struct BusinessProcessModelAndNotation {
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§
§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
pub fn elements(&self) -> Vec<&BPMNElement>
pub fn sequence_flows(&self) -> Vec<&BPMNSequenceFlow>
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 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, bpmn: &BusinessProcessModelAndNotation, ) -> Option<String>
Source§impl BusinessProcessModelAndNotation
impl BusinessProcessModelAndNotation
pub fn import_from_reader(
reader: &mut dyn BufRead,
) -> Result<BusinessProcessModelAndNotation, Error>where
BusinessProcessModelAndNotation: Sized,
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, ())
return the global index
Source§fn local_index(&self) -> usize
fn local_index(&self) -> usize
return the index within its parent
Source§fn is_unconstrained_start_event(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn is_unconstrained_start_event( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
return whether this is a start event that could initiate a process instance
Source§fn is_end_event(&self) -> bool
fn is_end_event(&self) -> bool
return whether this is an end event
Source§fn incoming_sequence_flows(&self) -> &[usize]
fn incoming_sequence_flows(&self) -> &[usize]
the flow indices of the incoming sequence flows of this object
Source§fn outgoing_sequence_flows(&self) -> &[usize]
fn outgoing_sequence_flows(&self) -> &[usize]
the flow indices of the outgoing sequence flows of this object
Source§fn incoming_message_flows(&self) -> &[usize]
fn incoming_message_flows(&self) -> &[usize]
the flow indices of the incoming message flows of this object
Source§fn outgoing_message_flows(&self) -> &[usize]
fn outgoing_message_flows(&self) -> &[usize]
the flow indices of the outgoing message flows of this object
Source§fn can_start_process_instance(
&self,
_bpmn: &BusinessProcessModelAndNotation,
) -> Result<bool, Error>
fn can_start_process_instance( &self, _bpmn: &BusinessProcessModelAndNotation, ) -> Result<bool, Error>
return whether this object could start a process instance, regardless of marking
Source§fn outgoing_message_flows_always_have_tokens(&self) -> bool
fn outgoing_message_flows_always_have_tokens(&self) -> bool
return whether the outgoing message flows of this object are always enabled
Source§fn outgoing_messages_cannot_be_removed(&self) -> bool
fn outgoing_messages_cannot_be_removed(&self) -> bool
return whether any outgoing message flow of this object cannot be removed when it is there
If
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
Return whether any incoming messages are ignored.
If
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
return whether this object can have incoming sequence flows
Source§fn can_have_outgoing_sequence_flows(&self) -> bool
fn can_have_outgoing_sequence_flows(&self) -> bool
return whether this object can have incoming sequence flows
Source§impl Clone for BusinessProcessModelAndNotation
impl Clone for BusinessProcessModelAndNotation
Source§fn clone(&self) -> BusinessProcessModelAndNotation
fn clone(&self) -> BusinessProcessModelAndNotation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§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]
Defines the parameters that the importer expects.
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."
A latex piece that describes the file format.
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,
Attempts to import from the reader.
The parameter_values must match the order given in
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>
return the elements of this process, but do not recurse
Source§fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
fn sequence_flows_non_recursive(&self) -> &Vec<BPMNSequenceFlow>
return the sequence flows of this process, but do not recurse
Source§fn to_sub_marking(
&self,
_initiation_mode: &InitiationMode<'_>,
) -> Result<BPMNSubMarking, Error>
fn to_sub_marking( &self, _initiation_mode: &InitiationMode<'_>, ) -> Result<BPMNSubMarking, Error>
return a initial marking
Source§fn is_sub_process(&self) -> bool
fn is_sub_process(&self) -> bool
return whether this is a sub-process, i.e. not a pool or a root of the model
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)
Change the activity key of this object, by translating all mentions of activities to the new activity key (which will be updated with activity labels it did not have yet.).
This is a potentially expensive operation. If only a part of the activities will be used, then consider using an ActivityKeyTranslator directly.
The activity key of this object will be updated too, so the activity keys will be equivalent afterwards.
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
Mutably borrows from an owned value. Read more
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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,
Causes
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>
Converts
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>
Converts
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,
Pipes by value. This is generally the method you want to use. Read more
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,
Borrows
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,
Mutably borrows
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
Borrows
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
Mutably borrows
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
Borrows
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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Immutable access to the
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
Mutable access to the
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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Calls
.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
Convert this type into
T, using the provided data to resolve any offsets.