Interface ChainExecutionPathTree


@Experimental @NoImplement public interface ChainExecutionPathTree
Control Flow Graph (Or execution path tree) that models the execution of a flow, Mule SDK Operation, entire application, or subchain within a Mule Application. This tree can be traversed using the ChainExecutionPathTreeVisitor.
Since:
1.1.
  • Method Details

    • accept

      void accept(ChainExecutionPathTreeVisitor visitor)
      Navigates this tree.

      For each item of interest in this tree, a method from the provided ChainExecutionPathTreeVisitor will be called. The order of the called methods is consistent and depends on the definition of the chain.

      The provided visitor is expected to keep internal state for storing the results of the navigation. So, this method is thread safe but the ChainExecutionPathTreeVisitor need not be (nor should be reused, even if used sequentially).

      Parameters:
      visitor - a visitor that will have its methods called as different items are found while navigating the tree.
    • getOwnerModel

      default Optional<org.mule.runtime.api.meta.model.ComponentModel> getOwnerModel()
      Returns:
      the ComponentModel for the component this subtree belongs to, if available.
      Since:
      1.6
    • getComponentAst

      org.mule.runtime.ast.api.ComponentAst getComponentAst()
      Returns:
      the ComponentAst that this subtree of the tree represents.
    • anyExecutionPathContains

      boolean anyExecutionPathContains(Predicate<ChainExecutionPathTree> predicate)
      Parameters:
      predicate -
      Returns:
      if any possible path of the execution has a ComponentAst that makes the return true.
    • allExecutionPathsContain

      boolean allExecutionPathsContain(Predicate<ChainExecutionPathTree> predicate)
      Parameters:
      predicate -
      Returns:
      if all the possible paths of the execution have a ComponentAst that makes the return true.
    • noneExecutionPathsContains

      default boolean noneExecutionPathsContains(Predicate<ChainExecutionPathTree> predicate)
      Parameters:
      predicate -
      Returns:
      if none of the possible paths of the execution have a ComponentAst that makes the true.
    • children

      default List<ChainExecutionPathTree> children()
      Returns:
      a List with the children of this ChainExecutionPathTree.
      Since:
      1.4