Interface StructuredActivityNode

  • All Superinterfaces:
    Action, ActivityGroup, ActivityNode, Comparable<Object>, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, MDWEObject, MDWObject, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, RedefinableElement
    All Known Subinterfaces:
    ConditionalNode, ExpansionRegion, LoopNode, SequenceNode

    public interface StructuredActivityNode
    extends Action, Namespace, ActivityGroup
    A representation of the model object 'Structured Activity Node'. A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested. Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is "isolated," then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.

    The following features are supported:

    See Also:
    UMLPackage.getStructuredActivityNode()
    • Method Detail

      • createVariable

        Variable createVariable​(String name,
                                Type type)
        Creates a new Variable, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list.
        Parameters:
        name - The 'Name' for the new Variable, or null.
        type - The 'Type' for the new Variable, or null.
        Returns:
        The new Variable.
        See Also:
        getVariables()
      • getVariable

        Variable getVariable​(String name,
                             Type type)
        Retrieves the first Variable with the specified 'Name', and 'Type' from the 'Variable' containment reference list.
        Parameters:
        name - The 'Name' of the Variable to retrieve, or null.
        type - The 'Type' of the Variable to retrieve, or null.
        Returns:
        The first Variable with the specified 'Name', and 'Type', or null.
        See Also:
        getVariables()
      • getVariable

        Variable getVariable​(String name,
                             Type type,
                             boolean ignoreCase,
                             boolean createOnDemand)
        Retrieves the first Variable with the specified 'Name', and 'Type' from the 'Variable' containment reference list.
        Parameters:
        name - The 'Name' of the Variable to retrieve, or null.
        type - The 'Type' of the Variable to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        createOnDemand - Whether to create a Variable on demand if not found.
        Returns:
        The first Variable with the specified 'Name', and 'Type', or null.
        See Also:
        getVariables()
      • getNode

        ActivityNode getNode​(String name,
                             boolean ignoreCase,
                             org.eclipse.emf.ecore.EClass eClass,
                             boolean createOnDemand)
        Retrieves the first ActivityNode with the specified 'Name' from the ' Node' containment reference list.
        Parameters:
        name - The 'Name' of the ActivityNode to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        eClass - The Ecore class of the ActivityNode to retrieve, or null.
        createOnDemand - Whether to create a ActivityNode on demand if not found.
        Returns:
        The first ActivityNode with the specified 'Name', or null.
        See Also:
        getNodes()
      • setMustIsolate

        void setMustIsolate​(boolean value)
        Sets the value of the 'Must Isolate' attribute.
        Parameters:
        value - the new value of the 'Must Isolate' attribute.
        See Also:
        isMustIsolate()
      • getEdge

        ActivityEdge getEdge​(String name,
                             boolean ignoreCase,
                             org.eclipse.emf.ecore.EClass eClass,
                             boolean createOnDemand)
        Retrieves the first ActivityEdge with the specified 'Name' from the ' Edge' containment reference list.
        Parameters:
        name - The 'Name' of the ActivityEdge to retrieve, or null.
        ignoreCase - Whether to ignore case in String comparisons.
        eClass - The Ecore class of the ActivityEdge to retrieve, or null.
        createOnDemand - Whether to create a ActivityEdge on demand if not found.
        Returns:
        The first ActivityEdge with the specified 'Name', or null.
        See Also:
        getEdges()
      • validateEdges

        boolean validateEdges​(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                              Map context)
        The edges owned by a structured node must have source and target nodes in the structured node, and vice versa. true
      • createStructuredNodeInput

        InputPin createStructuredNodeInput​(String name,
                                           Type type,
                                           org.eclipse.emf.ecore.EClass eClass)
        Creates an Input Pin linked to the current Structured Activity Node.
        for UML 2.3 or higher
        Parameters:
        name - the name of the InputPin created
        type - the type of the InputPin created
        eClass - the kind of InputPin created : InputPin, ActionInputPin or ValuePin
        Returns:
        a new InputPin
        Since:
        3.5.0
        See Also:
        TypedElement.getType()
      • getStructuredNodeInput

        InputPin getStructuredNodeInput​(String name,
                                        Type type)
        Returns the Input Pin linked to the current Structured Activity Node called 'name' and typed 'type'. Returns null if no corresponding InputPin found.
        for UML 2.3 or higher
        Parameters:
        name - the name of the InputPin
        type - the type of the InputPin
        Returns:
        InputPin
        Since:
        3.5.0
        See Also:
        TypedElement.getType()
      • getStructuredNodeInput

        InputPin getStructuredNodeInput​(String name,
                                        Type type,
                                        boolean ignoreCase,
                                        org.eclipse.emf.ecore.EClass eClass,
                                        boolean createOnDemand)
        Returns the Input Pin linked to the current Structured Activity Node called 'name' and typed 'type'.
        If the attribute 'ignoreCase' is set to true, the case of the InputPin name is ignored.
        If no corresponding InputPin is found, a new InputPin is created if the attribute'createOnDemand' is set to true. Returns null otherwise.
        for UML 2.3 or higher
        Parameters:
        name - the name of the InputPin
        type - the type of the InputPin
        ignoreCase - boolean to determine if the case is ignored or not
        createOnDemand - boolean to determine if a new InputPin is created
        Returns:
        InputPin
        Since:
        3.5.0
        See Also:
        TypedElement.getType()
      • getStructuredNodeOutput

        OutputPin getStructuredNodeOutput​(String name,
                                          Type type)
        Returns the Output Pin linked to the current Structured Activity Node called 'name' and typed 'type'. Returns null if no corresponding OutputPin found.
        for UML 2.3 or higher
        Parameters:
        name - the name of the OutputPin
        type - the type of the OutputPin
        Returns:
        OutputPin
        Since:
        3.5.0
        See Also:
        TypedElement.getType()
      • getStructuredNodeOutput

        OutputPin getStructuredNodeOutput​(String name,
                                          Type type,
                                          boolean ignoreCase,
                                          boolean createOnDemand)
        Returns the Output Pin linked to the current Structured Activity Node called 'name' and typed 'type'.
        If the attribute 'ignoreCase' is set to true, the case of the OutputPin name is ignored.
        If no corresponding OutputPin is found, a new OuputPin is created if the attribute'createOnDemand' is set to true. Returns null otherwise.
        for UML 2.3 or higher
        Parameters:
        name - the name of the OutputPin
        type - the type of the OutputPin
        ignoreCase - boolean to determine if the case is ignored or not
        createOnDemand - boolean to determine if a new OutputPin is created
        Returns:
        OutputPin
        Since:
        3.5.0
        See Also:
        TypedElement.getType()