BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMNOS::Model::StaticDataProvider Class Reference

Class representing a data provider for static BPMN instance data. More...

Detailed Description

The StaticDataProvider class is responsible for providing and managing instance data for BPMN processes.

Definition at line 17 of file StaticDataProvider.h.

#include <StaticDataProvider.h>

Inheritance diagram for BPMNOS::Model::StaticDataProvider:

Classes

struct  StaticInstanceData
 

Public Member Functions

 StaticDataProvider (const std::string &modelFile, const std::string &instanceFileOrString)
 Constructor for StaticDataProvider.
 
 StaticDataProvider (const std::string &modelFile, const std::vector< std::string > &folders, const std::string &instanceFileOrString)
 Constructor for StaticDataProvider.
 
 ~StaticDataProvider () override=default
 
std::unique_ptr< ScenariocreateScenario (unsigned int scenarioId=0) override
 
- Public Member Functions inherited from BPMNOS::Model::DataProvider
 DataProvider (const std::string &modelFile, const std::vector< std::string > &folders)
 Constructor for DataProvider.
 
virtual ~DataProvider ()=0
 
const ModelgetModel () const
 

Protected Member Functions

 StaticDataProvider (const std::string &modelFile, const std::vector< std::string > &folders)
 Protected constructor that skips readInstances() - for derived classes.
 
void readInstances ()
 
void ensureDefaultValue (StaticInstanceData &instance, const std::string attributeId, std::optional< BPMNOS::number > value=std::nullopt)
 
std::pair< std::string, std::string > parseInitialization (const std::string &initialization) const
 
virtual BPMNOS::number evaluateExpression (const std::string &expression) const
 
- Protected Member Functions inherited from BPMNOS::Model::DataProvider
BPMN::NodefindNode (const std::string &nodeId) const
 

Protected Attributes

std::unique_ptr< CSVReaderreader
 
std::unordered_map< long unsigned int, StaticInstanceDatainstances
 
std::unordered_map< const Attribute *, BPMNOS::numberglobalValueMap
 
BPMNOS::number earliestInstantiation
 
BPMNOS::number latestInstantiation
 
- Protected Attributes inherited from BPMNOS::Model::DataProvider
std::unique_ptr< Modelmodel
 Pointer to the BPMN model.
 
DataInput attributes
 Map holding all attributes in the model with keys being the process (or nullptr for global attributes) and attribute id. TODO: Remove when old CSV format support is removed.
 

Constructor & Destructor Documentation

◆ StaticDataProvider() [1/3]

StaticDataProvider::StaticDataProvider ( const std::string & modelFile,
const std::string & instanceFileOrString )
Parameters
modelFileThe file path to the BPMN model file.
instanceFileOrStringThe file path to the instance data file or a string containing the data.

Definition at line 18 of file StaticDataProvider.cpp.

◆ StaticDataProvider() [2/3]

StaticDataProvider::StaticDataProvider ( const std::string & modelFile,
const std::vector< std::string > & folders,
const std::string & instanceFileOrString )
Parameters
modelFileThe file path to the BPMN model file.
foldersThe folders containing lookup tables.
instanceFileOrStringThe file path to the instance data file or a string containing the data.

Definition at line 43 of file StaticDataProvider.cpp.

◆ ~StaticDataProvider()

BPMNOS::Model::StaticDataProvider::~StaticDataProvider ( )
overridedefault

◆ StaticDataProvider() [3/3]

StaticDataProvider::StaticDataProvider ( const std::string & modelFile,
const std::vector< std::string > & folders )
protected

Definition at line 23 of file StaticDataProvider.cpp.

Member Function Documentation

◆ createScenario()

std::unique_ptr< Scenario > StaticDataProvider::createScenario ( unsigned int scenarioId = 0)
overridevirtual

Implements BPMNOS::Model::DataProvider.

Definition at line 256 of file StaticDataProvider.cpp.

◆ ensureDefaultValue()

void StaticDataProvider::ensureDefaultValue ( StaticInstanceData & instance,
const std::string attributeId,
std::optional< BPMNOS::number > value = std::nullopt )
protected

Definition at line 228 of file StaticDataProvider.cpp.

◆ evaluateExpression()

BPMNOS::number StaticDataProvider::evaluateExpression ( const std::string & expression) const
protectedvirtual

Reimplemented in BPMNOS::Model::ExpectedValueDataProvider.

Definition at line 209 of file StaticDataProvider.cpp.

◆ parseInitialization()

std::pair< std::string, std::string > StaticDataProvider::parseInitialization ( const std::string & initialization) const
protected

Definition at line 181 of file StaticDataProvider.cpp.

◆ readInstances()

void StaticDataProvider::readInstances ( )
protected

Definition at line 50 of file StaticDataProvider.cpp.

Member Data Documentation

◆ earliestInstantiation

BPMNOS::number BPMNOS::Model::StaticDataProvider::earliestInstantiation
protected

Definition at line 51 of file StaticDataProvider.h.

◆ globalValueMap

std::unordered_map< const Attribute*, BPMNOS::number > BPMNOS::Model::StaticDataProvider::globalValueMap
protected

Definition at line 50 of file StaticDataProvider.h.

◆ instances

std::unordered_map< long unsigned int, StaticInstanceData > BPMNOS::Model::StaticDataProvider::instances
protected

Definition at line 49 of file StaticDataProvider.h.

◆ latestInstantiation

BPMNOS::number BPMNOS::Model::StaticDataProvider::latestInstantiation
protected

Definition at line 52 of file StaticDataProvider.h.

◆ reader

std::unique_ptr<CSVReader> BPMNOS::Model::StaticDataProvider::reader
protected

Definition at line 40 of file StaticDataProvider.h.


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