Interface IWorkflowVariableHandler


  • public interface IWorkflowVariableHandler
    Interface for the variable handler used during execution of the workflow. During workflow execution, nodes may access data via variables. This contains methods for retrieving and storing variables.
    Since:
    7.0.0
    Author:
    XIMA MEDIA GmbH
    • Method Detail

      • accessAtPath

        @Nullable
        List<?> accessAtPath​(Object base,
                             String jsonPath)
        Access a value of the given object at a certain JSON path. Note that while simple JSON path only result in a single value, some JSON paths may match multiple values. This method always returns a list of all matching values. If the JSON path only matches a single value, this returns a list with one item.

        For example:

         // => ["a"]
         accessAtPath(["a", "b"], "[0]")
         
         // => [ ["a", "b"] ]
         accessAtPath([ ["a", "b"], ["c", "d"] ], "[0]")
         
         // => [ "b" ]
         accessAtPath([ ["a", "b"], ["c", "d"] ], "[0][1]")
         
         // => [ 0 ]
         accessAtPath({"foo": {"bar": 0}, "baz": 1}, "foo.bar")
         
         // => [ 0 ]
         accessAtPath({"foo": {"bar": 0}, "baz": 1}, "foo.bar")
         
         // => [ "c", "d" ]
         accessAtPath([ ["a", "b"] , ["c", "d"] ], "[1][*]")
         
        Parameters:
        base - Base object where to start. If null, an empty list is returned.
        jsonPath - Path to access on the result. If null or empty, an empty list is returned.
        Returns:
        A list containing all values matching the given JSON path.
      • getException

        NodeThrewException getException​(int index)
        Returns the exception at the given index in the exception stack.

        An exception can be caught via try-catch-blocks. The exception stack keeps track of the exception that was caught by the catch-block. When a catch block contains another try-catch-block, the stack contains a list of all exceptions from all currently active catch-blocks

        Parameters:
        index - Index of the exception to access. 0 corresponds to the most recent catch-block, 1 corresponds to the outer catch block, 2 corresponds to the outer catch block of the outer catch block etc. You can also use negative indices to refer to elements from the beginning of the stack: -1 corresponds to the outermost catch block.
        Returns:
        The exception at the given index, or null when the index is out of range.
      • getResultsForNode

        @Nonnull
        List<IWorkflowNodeResult> getResultsForNode​(WorkflowNode node)
        Finds all results for the given node. A node may be executed multiple times when placed inside a loop.
        Parameters:
        node - A node for which to retrieve the result.
        Returns:
        All results that were obtained when the node was executed. When the node was executed multiple times, returns the results in the order of the individual executions. Do not attempt to modify this list.
        See Also:
        To find nodes, use the node locator IAdvancedWorkflowContext#node()
      • getTriggerData

        @Nullable
        Object getTriggerData​(String path)
        Each trigger can provide a set of data that will be available when the task is executed. The data can be a JSON like object with nested objects and arrays. This method finds the data at the given JSON path, if it exists.
        Parameters:
        path - JSON path to access, e.g. button[0].name.
        Returns:
        The value at the given path. null when the trigger provides no such data.
      • popException

        void popException()
        Pops the exception on top of the exception stack, see getException(int). This method should only be used by workflow nodes that represent a try-catch block.
      • pushException

        void pushException​(NodeThrewException e)
        Pushes the given exception to the exception stack, see getException(int). This method should only be used by workflow nodes that represent a try-catch block.
        Parameters:
        e - Exception to push to the stack.