BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
tStatus.h
Go to the documentation of this file.
1#ifndef XML_bpmnos_tStatus_H
2#define XML_bpmnos_tStatus_H
3#include <memory>
4#include <optional>
5#include <vector>
6
7#include "../XMLObject.h"
8#include "tAttributes.h"
9#include "tOperators.h"
10#include "tRestrictions.h"
11#include "tDecisions.h"
12
13/**
14 * @brief The `XML::bpmnos` namespace contains classes from the following XML-schema(s): @ref xsd/BPMNOS.xsd.
15 */
16namespace XML::bpmnos {
17
18class tAttributes;
19class tOperators;
20class tRestrictions;
21class tDecisions;
22
23/**
24 * Overview:
25 * - Element name: tStatus
26 * - XML-Schema: xsd/BPMNOS.xsd
27 * - XML-Namespace: https://bpmnos.telematique.eu
28 *
29 * Members:
30 * - attributes : tAttributes [0..1]
31 * - operators : tOperators [0..1]
32 * - restrictions : tRestrictions [0..1]
33 * - decisions : tDecisions [0..1]
34 *
35 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
36 */
37class tStatus : public XMLObject {
38 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
39private:
40 static bool registerClass() {
41 XMLObject::factory["https://bpmnos.telematique.eu:tStatus"] = &createInstance<tStatus>; // register function in factory
42 return true;
43 };
44 inline static bool registered = registerClass();
45protected:
46 tStatus(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
47
48public:
49 /// default attributes to be used if they are not explicitly provided
50 inline static const Attributes defaults = {
51 };
52
53 std::optional< std::reference_wrapper<tAttributes> > attributes;
54 std::optional< std::reference_wrapper<tOperators> > operators;
55 std::optional< std::reference_wrapper<tRestrictions> > restrictions;
56 std::optional< std::reference_wrapper<tDecisions> > decisions;
57};
58
59} // namespace XML::bpmnos
60
61#endif // XML_bpmnos_tStatus_H
A class representing a node in an XML-tree.
Definition XMLObject.h:115
const ClassName className
Definition bpmn++.h:244
static Factory factory
Definition bpmn++.h:156
Namespace xmlns
Definition bpmn++.h:243
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tStatus(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Definition tStatus.cpp:6
std::optional< std::reference_wrapper< tOperators > > operators
Definition tStatus.h:54
std::optional< std::reference_wrapper< tDecisions > > decisions
Definition tStatus.h:56
std::optional< std::reference_wrapper< tAttributes > > attributes
Definition tStatus.h:53
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition tStatus.h:50
std::optional< std::reference_wrapper< tRestrictions > > restrictions
Definition tStatus.h:55
The XML::bpmnos namespace contains classes from the following XML-schema(s): xsd/BPMNOS....
Definition attribute.h:13
std::string Namespace
Definition bpmn++.h:25
std::string ClassName
Definition bpmn++.h:22
XMLObject * createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Template function used to store in factory.
Definition bpmn++.h:85
std::vector< Attribute > Attributes
Definition bpmn++.h:81