bpmn++
A BPMN parser library, written in C++
Loading...
Searching...
No Matches
MessageFlow.h
Go to the documentation of this file.
1#ifndef BPMN_MessageFlow_H
2#define BPMN_MessageFlow_H
3
5#include "BaseElement.h"
6
7namespace BPMN {
8
9class Model;
10class Process;
11class Scope;
12class FlowNode;
13
14/**
15 * @brief The MessageFlow class encapsulates the information and relationships associated with
16 * a message flow in a BPMN process.
17 *
18 * The class provides access to the underlying @ref XML::bpmn::tMessageFlow element and the source
19 * and target node.
20 */
21class MessageFlow : public BaseElement {
22public:
23 /// @brief Constructs a MessageFlow object based on a @ref XML::bpmn::tMessageFlow element.
25
27
28 /// @brief Reference to the source node of the message flow.
29 std::pair<Process*, FlowNode*> source;
30 /// @brief Reference to the target node of the message flow.
31 std::pair<Process*, FlowNode*> target;
32protected:
33 friend class Model;
34 void initialize(std::vector< std::unique_ptr<Process> >& processes, std::unordered_map<std::string,std::string>& participantMap);
35 FlowNode* findRecursive(std::string& id, Scope* scope);
36};
37
38} // namespace BPMN
39
40#endif // BPMN_MessageFlow_H
41
Base class for all core BPMN elements.
Definition BaseElement.h:15
Base class for BPMN elements that may contain incoming and outgoing sequence flows.
Definition FlowNode.h:20
The MessageFlow class encapsulates the information and relationships associated with a message flow i...
Definition MessageFlow.h:21
std::pair< Process *, FlowNode * > target
Reference to the target node of the message flow.
Definition MessageFlow.h:31
XML::bpmn::tMessageFlow * element
Definition MessageFlow.h:26
void initialize(std::vector< std::unique_ptr< Process > > &processes, std::unordered_map< std::string, std::string > &participantMap)
std::pair< Process *, FlowNode * > source
Reference to the source node of the message flow.
Definition MessageFlow.h:29
FlowNode * findRecursive(std::string &id, Scope *scope)
Represents a BPMN model with all its processes and message flows.
Definition Model.h:170
Base class for BPMN elements that may contain a ChildNode elements.
Definition Scope.h:24
The BPMN namespace contains linked classes representing a BPMN model.