BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
Conditions.h
Go to the documentation of this file.
1#ifndef BPMNOS_Model_Conditions_H
2#define BPMNOS_Model_Conditions_H
3
4#include <memory>
5#include <set>
6#include <vector>
7#include <string>
8#include <bpmn++.h>
9#include "Restriction.h"
11
12namespace BPMNOS::Model {
13
14
15/**
16 * @brief Class holding extension elements representing conditions for sequence flows and conditional events
17 **/
19public:
22 std::vector< std::unique_ptr<Restriction> > conditions;
23 std::set<const Attribute*> dataDependencies; ///< Set containing all attributes used in any of the conditions.
24
25 template <typename DataType>
26 bool conditionsSatisfied(const BPMNOS::Values& status, const DataType& data, const BPMNOS::Values& globals) const;
27};
28
29
30} // namespace BPMNOS::Model
31
32#endif // BPMNOS_Model_Conditions_H
Class holding extension elements representing conditions for sequence flows and conditional events.
Definition Conditions.h:18
std::vector< std::unique_ptr< Restriction > > conditions
Definition Conditions.h:22
std::set< const Attribute * > dataDependencies
Set containing all attributes used in any of the conditions.
Definition Conditions.h:23
Conditions(XML::bpmn::tBaseElement *baseElement, BPMN::Scope *parent)
Definition Conditions.cpp:8
const BPMN::Scope * parent
Definition Conditions.h:21
bool conditionsSatisfied(const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const
Base class for extension elements that may be provided for a BPMN element.
Definition bpmn++.h:16358
BaseElement * baseElement
Reference to the base element the extension elements are bound to.
Definition bpmn++.h:16391
Base class for BPMN elements that may contain a ChildNode elements.
Definition bpmn++.h:16510