bpmn++
A BPMN parser library, written in C++
Loading...
Searching...
No Matches
BPMN::MessageFlow Class Reference

The MessageFlow class encapsulates the information and relationships associated with a message flow in a BPMN process. More...

Detailed Description

The class provides access to the underlying XML::bpmn::tMessageFlow element and the source and target node.

Definition at line 21 of file MessageFlow.h.

#include <MessageFlow.h>

Inheritance diagram for BPMN::MessageFlow:

Public Member Functions

 MessageFlow (XML::bpmn::tMessageFlow *messageFlow)
 Constructs a MessageFlow object based on a XML::bpmn::tMessageFlow element.
Public Member Functions inherited from BPMN::BaseElement
 BaseElement (XML::bpmn::tBaseElement *element)
 Constructs a BaseElement object representing a BPMN element.
 ~BaseElement ()
 Destructor.
template<typename T>
T * is ()
 Attempts to return the element in the specified type T.
template<typename T>
const T * is () const
 Attempts to return the element in the specified type T.
template<typename T = XML::bpmn::tBaseElement>
T * get ()
 Casts the element to the specified type T.
template<typename T = XML::bpmn::tBaseElement>
const T * get () const
 Casts the element to the specified type T.
Public Member Functions inherited from BPMN::Element
virtual ~Element ()=default
template<typename T>
T * represents ()
 Attempts to cast the element to the specified type T.
template<typename T>
const T * represents () const
 Attempts to cast the element to the specified type T.
template<typename T>
T * as ()
 Casts the element to the specified type T.
template<typename T>
const T * as () const
 Casts the element to the specified type T.

Public Attributes

XML::bpmn::tMessageFlowelement
std::pair< Process *, FlowNode * > source
 Reference to the source node of the message flow.
std::pair< Process *, FlowNode * > target
 Reference to the target node of the message flow.
Public Attributes inherited from BPMN::BaseElement
XML::bpmn::tBaseElementelement
std::string id
 Id of element.
std::unique_ptr< ExtensionElementsextensionElements

Protected Member Functions

void initialize (std::vector< std::unique_ptr< Process > > &processes, std::unordered_map< std::string, std::string > &participantMap)
FlowNodefindRecursive (std::string &id, Scope *scope)

Friends

class Model

Constructor & Destructor Documentation

◆ MessageFlow()

MessageFlow::MessageFlow ( XML::bpmn::tMessageFlow * messageFlow)

Definition at line 9 of file MessageFlow.cpp.

Member Function Documentation

◆ findRecursive()

FlowNode * MessageFlow::findRecursive ( std::string & id,
Scope * scope )
protected

Definition at line 77 of file MessageFlow.cpp.

◆ initialize()

void MessageFlow::initialize ( std::vector< std::unique_ptr< Process > > & processes,
std::unordered_map< std::string, std::string > & participantMap )
protected

Definition at line 17 of file MessageFlow.cpp.

◆ Model

friend class Model
friend

Definition at line 33 of file MessageFlow.h.

Member Data Documentation

◆ element

XML::bpmn::tMessageFlow* BPMN::MessageFlow::element

Definition at line 26 of file MessageFlow.h.

◆ source

std::pair<Process*, FlowNode*> BPMN::MessageFlow::source

Definition at line 29 of file MessageFlow.h.

◆ target

std::pair<Process*, FlowNode*> BPMN::MessageFlow::target

Definition at line 31 of file MessageFlow.h.


The documentation for this class was generated from the following files: