Class FlowGraphConnectionType

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long ALL
      A union of all possible flow graph connection types.
      static long BACKWARDS
      An edge that leads back to a previous node that has already been executed.
      static long CONTROL_TRANSFER
      An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a control transfer statement, can transfer control to node V.
      static long NONE
      None of the available flow graph connection types.
      static long NORMAL
      An edge between a node U and node V in the flow graph with the property that node U, when it completes normally, can transfer control to node V.
      static long RETURNING
      An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a return statement, can transfer control to node V.
      static long THROWING
      An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by throwing an exception, can transfer control to node V.
    • Field Detail

      • NONE

        public static final long NONE
        None of the available flow graph connection types.
        See Also:
        Constant Field Values
      • NORMAL

        public static final long NORMAL
        An edge between a node U and node V in the flow graph with the property that node U, when it completes normally, can transfer control to node V.
        See Also:
        Constant Field Values
      • THROWING

        public static final long THROWING
        An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by throwing an exception, can transfer control to node V.
        See Also:
        Constant Field Values
      • CONTROL_TRANSFER

        public static final long CONTROL_TRANSFER
        An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a control transfer statement, can transfer control to node V.
        See Also:
        Constant Field Values
      • RETURNING

        public static final long RETURNING
        An edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a return statement, can transfer control to node V.
        See Also:
        Constant Field Values
      • BACKWARDS

        public static final long BACKWARDS
        An edge that leads back to a previous node that has already been executed. For loop nodes, this is the edge from the end of the loop body back to the start of the loop body. You should combine this edge typ with NORMAL or THROWING.

        More formally, assuming a valid flow graph where all nodes are reachable from the root, a back edge is an edge from node U to node V, with the additional property that every path from the root to V also includes U.

        Back edges are excluded when searching for predecesors of a node, e.g. for showing a list of node placeholders in the workfow designer.

        See Also:
        Constant Field Values
      • ALL

        public static final long ALL
        A union of all possible flow graph connection types.
        See Also:
        Constant Field Values
    • Method Detail

      • excludesAllOf

        public static boolean excludesAllOf​(long type,
                                            long excludeAllOf)
        Parameters:
        type - A set of connection type flags, or'ed together.
        excludeAllOf - One or more types against which to compare the given type.
        Returns:
        true if the type does not include any of the given exclude types.
        See Also:
        , which is the opposite of this method.
      • excludesSomeOf

        public static boolean excludesSomeOf​(long type,
                                             long excludeSomeOf)
        Parameters:
        type - A set of connection type flags, or'ed together.
        excludeSomeOf - One or more types against which to compare the given type.
        Returns:
        true if the type includes all of the given types.
        See Also:
        , which is the opposite of this method.
      • includesAllOf

        public static boolean includesAllOf​(long type,
                                            long includeAllOf)
        Parameters:
        type - A set of connection type flags, or'ed together.
        includeAllOf - One or more types against which to compare the given type.
        Returns:
        true if the type includes all of the given include types.
        See Also:
        , which is the opposite of this method.
      • includesSomeOf

        public static boolean includesSomeOf​(long type,
                                             long includeSomeOf)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        includeSomeOf - One or more types against which to compare the given type.
        Returns:
        true if the type includes at least one of the given include types.
        See Also:
        , which is the opposite of this method.
      • isBackwards

        public static boolean isBackwards​(long type)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        Returns:
        Whether the flags include BACKWARDS.
      • isControlTransfer

        public static boolean isControlTransfer​(long type)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        Returns:
        Whether the flags include CONTROL_TRANSFER.
      • isNormal

        public static boolean isNormal​(long type)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        Returns:
        Whether the flags include NORMAL.
      • isReturning

        public static boolean isReturning​(long type)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        Returns:
        Whether the flags include RETURNING.
      • isThrowing

        public static boolean isThrowing​(long type)
        Parameters:
        type - A set of connection type flags to check, or'ed together.
        Returns:
        Whether the flags include THROWING.
      • not

        public static long not​(long type)
        Parameters:
        type - A set of connection type flags, or'ed together.
        Returns:
        A list of types other than the given types.