BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
StaticDataProvider.h
Go to the documentation of this file.
1#ifndef BPMNOS_Model_StaticDataProvider_H
2#define BPMNOS_Model_StaticDataProvider_H
3
4#include "DataProvider.h"
6#include <vector>
7
8namespace BPMNOS::Model {
9
10/**
11 * @brief Class representing a data provider for static BPMN instance data.
12 *
13 * The StaticDataProvider class is responsible for providing and managing instance data
14 * for BPMN processes.
15 * */
17public:
18 /**
19 * @brief Constructor for StaticDataProvider.
20 *
21 * @param modelFile The file path to the BPMN model file.
22 * @param instanceFileOrString The file path to the instance data file or a string containing the data.
23 */
24 StaticDataProvider(const std::string& modelFile, const std::string& instanceFileOrString);
25 /**
26 * @brief Constructor for StaticDataProvider.
27 *
28 * @param modelFile The file path to the BPMN model file.
29 * @param folders The folders containing lookup tables.
30 * @param instanceFileOrString The file path to the instance data file or a string containing the data.
31 */
32 StaticDataProvider(const std::string& modelFile, const std::vector<std::string>& folders, const std::string& instanceFileOrString);
33 ~StaticDataProvider() override = default;
34 std::unique_ptr<Scenario> createScenario(unsigned int scenarioId = 0) override;
35protected:
37 void readInstances();
42 std::unordered_map< const Attribute*, BPMNOS::number > data;
43 };
44 std::unordered_map< long unsigned int, StaticInstanceData > instances;
45 std::unordered_map< const Attribute*, BPMNOS::number > globalValueMap;
48 void ensureDefaultValue(StaticInstanceData& instance, const std::string attributeId, std::optional<BPMNOS::number> value = std::nullopt);
49};
50
51} // namespace BPMNOS::Model
52
53#endif // BPMNOS_Model_StaticDataProvider_H
Abstract base class representing a data provider for BPMN instance data.
Class representing a data provider for static BPMN instance data.
std::unordered_map< const Attribute *, BPMNOS::number > globalValueMap
~StaticDataProvider() override=default
std::unique_ptr< Scenario > createScenario(unsigned int scenarioId=0) override
StaticDataProvider(const std::string &modelFile, const std::string &instanceFileOrString)
Constructor for StaticDataProvider.
std::unordered_map< long unsigned int, StaticInstanceData > instances
void ensureDefaultValue(StaticInstanceData &instance, const std::string attributeId, std::optional< BPMNOS::number > value=std::nullopt)
BPMNOS_NUMBER_TYPE number
Definition Number.h:42
std::unordered_map< const Attribute *, BPMNOS::number > data