|
bpmn++
A BPMN parser library, written in C++
|
Base class for BPMN elements that may contain incoming and outgoing sequence flows. More...
The FlowNode class encapsulates the information and relationships associated with a node in a BPMN process. The class provides allows to access the parent scope as well as incoming and outgoing sequence flows.
Definition at line 20 of file FlowNode.h.
#include <FlowNode.h>
Public Member Functions | |
| FlowNode (XML::bpmn::tFlowNode *flowNode, Scope *parent) | |
Public Member Functions inherited from BPMN::ChildNode | |
| ChildNode (XML::bpmn::tBaseElement *element, Scope *parent) | |
| template<typename T > | |
| Node * | ancestor () |
| Returns the first ancestor node representing type T. | |
| template<typename T > | |
| const Node * | ancestor () const |
| Returns the first ancestor node representing type T. | |
Public Member Functions inherited from BPMN::Node | |
| Node (XML::bpmn::tBaseElement *element) | |
| Constructs a Node object representing a BPMN process or flow node. | |
| Node * | find (std::function< bool(Node *)> condition) |
| Returns the first node found matching a given condition. | |
| const Node * | find (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 | |
| XML::bpmn::tFlowNode * | element |
| std::optional< std::string > | name |
| std::vector< SequenceFlow * > | incoming |
| Vector containing all incoming sequence flows of the node. | |
| std::vector< SequenceFlow * > | outgoing |
| Vector containing all outgoing sequence flows of the node. | |
Public Attributes inherited from BPMN::ChildNode | |
| Scope * | parent |
| Reference to the parent node. | |
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::tBaseElement * | element |
| std::string | id |
| Id of element. | |
| std::unique_ptr< ExtensionElements > | extensionElements |
Friends | |
| class | Model |
| FlowNode::FlowNode | ( | XML::bpmn::tFlowNode * | flowNode, |
| Scope * | parent | ||
| ) |
Definition at line 7 of file FlowNode.cpp.
|
friend |
Definition at line 21 of file FlowNode.h.
| XML::bpmn::tFlowNode* BPMN::FlowNode::element |
Definition at line 23 of file FlowNode.h.
| std::vector< SequenceFlow* > BPMN::FlowNode::incoming |
Definition at line 29 of file FlowNode.h.
| std::optional<std::string> BPMN::FlowNode::name |
Definition at line 26 of file FlowNode.h.
| std::vector< SequenceFlow* > BPMN::FlowNode::outgoing |
Definition at line 32 of file FlowNode.h.