BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
AttributeRegistry.h
Go to the documentation of this file.
1#ifndef BPMNOS_Model_AttributeRegistry_H
2#define BPMNOS_Model_AttributeRegistry_H
3
4#include <memory>
5#include <vector>
6#include <string>
7#include <map>
9
10#include "Attribute.h"
11
12namespace BPMNOS::Model {
13
15public:
16 std::map< std::string, Attribute*> statusAttributes;
17 std::map< std::string, Attribute*> dataAttributes;
18 std::map< std::string, Attribute*> globalAttributes;
19 Attribute* operator[](const std::string& name) const;
20 bool contains(const std::string& name) const;
21
22 std::optional<BPMNOS::number> getValue(const Attribute* attribute, const Values& status, const Values& data, const Values& globals) const;
23 std::optional<BPMNOS::number> getValue(const Attribute* attribute, const Values& status, const SharedValues& data, const Values& globals) const;
24 void setValue(const Attribute* attribute, Values& status, Values& data, Values& globals, std::optional<BPMNOS::number> value) const;
25 void setValue(const Attribute* attribute, Values& status, SharedValues& data, Values& globals, std::optional<BPMNOS::number> value) const;
26private:
27 friend class Attribute;
28 void add(Attribute* attribute);
29};
30
31} // namespace BPMNOS::Model
32
33#endif // BPMNOS_Model_AttributeRegistry_H
bool contains(const std::string &name) const
void setValue(const Attribute *attribute, Values &status, Values &data, Values &globals, std::optional< BPMNOS::number > value) const
Attribute * operator[](const std::string &name) const
std::map< std::string, Attribute * > dataAttributes
std::map< std::string, Attribute * > globalAttributes
std::map< std::string, Attribute * > statusAttributes
std::optional< BPMNOS::number > getValue(const Attribute *attribute, const Values &status, const Values &data, const Values &globals) const