Interface NESTWorkflowModifier

    • Method Detail

      • getDefaultAndStartNodeClassName

        String getDefaultAndStartNodeClassName()
      • setDefaultAndStartNodeClassName

        void setDefaultAndStartNodeClassName​(String defaultAndStartNodeClassName)
      • getDefaultAndEndNodeClassName

        String getDefaultAndEndNodeClassName()
      • setDefaultAndEndNodeClassName

        void setDefaultAndEndNodeClassName​(String defaultAndEndNodeClassName)
      • getDefaultOrStartNodeClassName

        String getDefaultOrStartNodeClassName()
      • setDefaultOrStartNodeClassName

        void setDefaultOrStartNodeClassName​(String defaultOrStartNodeClassName)
      • getDefaultOrEndNodeClassName

        String getDefaultOrEndNodeClassName()
      • setDefaultOrEndNodeClassName

        void setDefaultOrEndNodeClassName​(String defaultOrEndNodeClassName)
      • getDefaultXorStartNodeClassName

        String getDefaultXorStartNodeClassName()
      • setDefaultXorStartNodeClassName

        void setDefaultXorStartNodeClassName​(String defaultXorStartNodeClassName)
      • getDefaultXorEndNodeClassName

        String getDefaultXorEndNodeClassName()
      • setDefaultXorEndNodeClassName

        void setDefaultXorEndNodeClassName​(String defaultXorEndNodeClassName)
      • getDefaultLoopStartNodeClassName

        String getDefaultLoopStartNodeClassName()
      • setDefaultLoopStartNodeClassName

        void setDefaultLoopStartNodeClassName​(String defaultLoopStartNodeClassName)
      • getDefaultLoopEndNodeClassName

        String getDefaultLoopEndNodeClassName()
      • setDefaultLoopEndNodeClassName

        void setDefaultLoopEndNodeClassName​(String defaultLoopEndNodeClassName)
      • insertBlockSequenceNode

        boolean insertBlockSequenceNode​(NESTSequenceNodeObject newSequenceNode,
                                        NESTSequenceNodeObject preNode,
                                        NESTSequenceNodeObject succNode,
                                        DataObject controlflowEdgeSemanticDescriptor,
                                        DataObject partOfEdgeSemanticDescriptor)
        Inserts a given node between the given predecessor/ successor node in the related nest graph including all linking controlflow edges. If a unique position for the new node is given by one node, the other one can be null.
        Parameters:
        newSequenceNode - The new node to be inserted
        preNode - new node is inserted behind this predecessor node in the controlflow
        succNode - new node is inserted before this successor node in the controlflow
        controlflowEdgeSemanticDescriptor -
        partOfEdgeSemanticDescriptor -
        Returns:
        true if operation was successful
      • insertNewAndStartNode

        NESTAndStartNodeObject insertNewAndStartNode​(DataObject semanticDescriptor)
        Creates a new and split node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewAndEndNode

        NESTAndEndNodeObject insertNewAndEndNode​(DataObject semanticDescriptor)
        Creates a new and join node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewOrStartNode

        NESTOrStartNodeObject insertNewOrStartNode​(DataObject semanticDescriptor)
        Creates a new or split node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewOrEndNode

        NESTOrEndNodeObject insertNewOrEndNode​(DataObject semanticDescriptor)
        Creates a new or join node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewXorStartNode

        NESTXorStartNodeObject insertNewXorStartNode​(DataObject semanticDescriptor)
        Creates a new xor split node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewXorEndNode

        NESTXorEndNodeObject insertNewXorEndNode​(DataObject semanticDescriptor)
        Creates a new xor join node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewLoopStartNode

        NESTLoopStartNodeObject insertNewLoopStartNode​(DataObject semanticDescriptor)
        Creates a new loop join node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewLoopEndNode

        NESTLoopEndNodeObject insertNewLoopEndNode​(DataObject semanticDescriptor)
        Creates a new loop split node.
        Parameters:
        semanticDescriptor - The semantic description of the new node.
        Returns:
      • insertNewXorSequence

        NESTWorkflowModifier.NESTControlflowNodePair insertNewXorSequence​(DataObject semDescrSplit,
                                                                          DataObject semDescrJoin)
        Inserts a new XOR (exclusive or) sequence into the graph. The sequence is not connected by any edges.
        Parameters:
        semDescrSplit - the semantic descriptor of the split node (start node)
        semDescrJoin - the semantic descriptor of the join node (end node)
        Returns:
        a controlflow node pair containing the added sequence nodes
      • insertNewOrSequence

        NESTWorkflowModifier.NESTControlflowNodePair insertNewOrSequence​(DataObject semDescrSplit,
                                                                         DataObject semDescrJoin)
        Inserts a new OR sequence into the graph. The sequence is not connected by any edges.
        Parameters:
        semDescrSplit - the semantic descriptor of the split node (start node)
        semDescrJoin - the semantic descriptor of the join node (end node)
        Returns:
        a controlflow node pair containing the added sequence nodes
      • insertNewAndSequence

        NESTWorkflowModifier.NESTControlflowNodePair insertNewAndSequence​(DataObject semDescrSplit,
                                                                          DataObject semDescrJoin)
        Inserts a new AND (parallel execution) sequence into the graph. The sequence is not connected by any edges.
        Parameters:
        semDescrSplit - the semantic descriptor of the split node (start node)
        semDescrJoin - the semantic descriptor of the join node (end node)
        Returns:
        a controlflow node pair containing the added sequence nodes
      • insertNewLoopSequence

        NESTWorkflowModifier.NESTControlflowNodePair insertNewLoopSequence​(DataObject semDescrJoin,
                                                                           DataObject semDescrSplit)
        Inserts a new LOOP (execution multiple times) sequence into the graph. The sequence is not connected by any edges. Please note, in loops the start node is the join node and the end node is the split node!
        Parameters:
        semDescrSplit - the semantic descriptor of the join node (start node)
        semDescrJoin - the semantic descriptor of the split node (end node)
        Returns:
        a controlflow node pair containing the added sequence nodes
      • removeControlflowBlock

        void removeControlflowBlock​(NESTControlflowNodeObject controlflowNode)
        Parameters:
        controlflowNode -
      • removeUnusedControlflowBlocks

        void removeUnusedControlflowBlocks()
        Removes unused controlflow blocks, if both branches are empty (no non-empty branch exists). Further removes AND blocks, if they only contain a single branch (2nd branch is empty).
      • removeEmptyBlockLinks

        void removeEmptyBlockLinks()
        Removes direct links between from start controlflow nodes to end controlfow nodes, if there exists other branches in between.
      • removeControlflowNodes

        void removeControlflowNodes​(NESTControlflowNodeObject controlflowNode)
        Parameters:
        controlflowNode -
      • removeControlflowBlockNodes

        void removeControlflowBlockNodes​(NESTControlflowNodeObject startControlflowNode)
        Removes controlflow block nodes identified by the given start controlflow node. The corresponding end controlflow node will be removed too, including edges that link directly from start controlflow node to end controlfow node
        Parameters:
        startControlflowNode -