BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMN::Scope Class Reference

Base class for BPMN elements that may contain a ChildNode elements. More...

Detailed Description

The Scope class provides functionalities to access child nodes, event subprocesses, start nodes, and sequence flows associated with the scope.

Definition at line 16510 of file bpmn++.h.

#include <bpmn++.h>

Inheritance diagram for BPMN::Scope:

Public Member Functions

 Scope (XML::bpmn::tBaseElement *element)
 
- Public Member Functions inherited from BPMN::Node
 Node (XML::bpmn::tBaseElement *element)
 Constructs a Node object representing a BPMN process or flow node.
 
Nodefind (std::function< bool(Node *)> condition)
 Returns the first node found matching a given condition.
 
const Nodefind (std::function< bool(const Node *)> condition) const
 Returns the first node found matching a given condition.
 
std::vector< Node * > find_all (std::function< bool(Node *)> condition)
 Returns all nodes matching a given condition.
 
std::vector< const Node * > find_all (std::function< bool(const Node *)> condition) const
 Returns all nodes matching a given condition.
 
- Public Member Functions inherited from BPMN::BaseElement
 BaseElement (XML::bpmn::tBaseElement *element)
 Constructs a BaseElement object representing a BPMN element.
 
template<typename T >
T * is ()
 Attempts to return the element in the specified type T.
 
template<typename T >
const T * is () const
 Attempts to return the element in the specified type T.
 
template<typename T = XML::bpmn::tBaseElement>
T * get ()
 Casts the element to the specified type T.
 
template<typename T = XML::bpmn::tBaseElement>
const T * get () const
 Casts the element to the specified type T.
 
- Public Member Functions inherited from BPMN::Element
virtual ~Element ()=default
 
template<typename T >
T * represents ()
 Attempts to cast the element to the specified type T.
 
template<typename T >
const T * represents () const
 Attempts to cast the element to the specified type T.
 
template<typename T >
T * as ()
 Casts the element to the specified type T.
 
template<typename T >
const T * as () const
 Casts the element to the specified type T.
 

Public Attributes

std::vector< std::unique_ptr< Node > > childNodes
 Vector containing all child nodes within the scope of the nodes.
 
std::vector< FlowNode * > flowNodes
 Vector containing pointers to all flow nodes within the scope of the nodes.
 
std::vector< EventSubProcess * > eventSubProcesses
 Vector containing pointers to all event subprocesses within the scope of the nodes.
 
std::vector< FlowNode * > startNodes
 Vector containing all flow nodes that may start execution of the scope.
 
std::vector< std::unique_ptr< SequenceFlow > > sequenceFlows
 Vector containing all sequence flows within the scope.
 
std::vector< Activity * > compensationActivities
 Vector containing pointers to all compensation activities within the scope.
 
EventSubProcesscompensationEventSubProcess
 Pointer to compensation event subprocess of the scope.
 
std::vector< std::unique_ptr< DataObject > > dataObjects
 Vector containing all data objects within the scope.
 
- Public Attributes inherited from BPMN::Node
std::vector< MessageFlow * > receiving
 Vector containing all message flows going in to the node.
 
std::vector< MessageFlow * > sending
 Vector containing all message flows going out of the node.
 
- Public Attributes inherited from BPMN::BaseElement
XML::bpmn::tBaseElementelement
 
std::string id
 Id of element.
 
std::unique_ptr< ExtensionElementsextensionElements
 

Protected Member Functions

void add (std::unique_ptr< Node > node)
 
void add (std::unique_ptr< SequenceFlow > sequenceFlow)
 
void add (std::unique_ptr< DataObject > dataObject)
 

Friends

class Model
 

Constructor & Destructor Documentation

◆ Scope()

BPMN::Scope::Scope ( XML::bpmn::tBaseElement * element)

Member Function Documentation

◆ add() [1/3]

void BPMN::Scope::add ( std::unique_ptr< DataObject > dataObject)
protected

◆ add() [2/3]

void BPMN::Scope::add ( std::unique_ptr< Node > node)
protected

◆ add() [3/3]

void BPMN::Scope::add ( std::unique_ptr< SequenceFlow > sequenceFlow)
protected

Friends And Related Symbol Documentation

◆ Model

friend class Model
friend

Definition at line 16511 of file bpmn++.h.

Member Data Documentation

◆ childNodes

std::vector< std::unique_ptr<Node> > BPMN::Scope::childNodes

Definition at line 16516 of file bpmn++.h.

◆ compensationActivities

std::vector< Activity* > BPMN::Scope::compensationActivities

Definition at line 16531 of file bpmn++.h.

◆ compensationEventSubProcess

EventSubProcess* BPMN::Scope::compensationEventSubProcess

Definition at line 16534 of file bpmn++.h.

◆ dataObjects

std::vector< std::unique_ptr<DataObject> > BPMN::Scope::dataObjects

Definition at line 16537 of file bpmn++.h.

◆ eventSubProcesses

std::vector< EventSubProcess* > BPMN::Scope::eventSubProcesses

Definition at line 16522 of file bpmn++.h.

◆ flowNodes

std::vector< FlowNode* > BPMN::Scope::flowNodes

Definition at line 16519 of file bpmn++.h.

◆ sequenceFlows

std::vector< std::unique_ptr<SequenceFlow> > BPMN::Scope::sequenceFlows

Definition at line 16528 of file bpmn++.h.

◆ startNodes

std::vector< FlowNode* > BPMN::Scope::startNodes

Definition at line 16525 of file bpmn++.h.


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