Interface Navigate<T>

Type Parameters:
T - the node type returned by each traversal step
All Known Subinterfaces:
Channel

public interface Navigate<T>
Supports forward traversal of a directed graph where each step returns a List of successor nodes of type T (0 to n nodes per step).

In the Camel route model the graph is the EIP pipeline tree rooted at each Route. Every model node that can have children implements Navigate so that tools such as the backlog tracer, route visualizer, and the debugger can walk the entire processing graph without coupling to a specific model class hierarchy.

Callers must invoke next() and hasNext() at most once each: the interface is stateless and not designed for repeated iteration.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Are there more outputs?
    @Nullable List<T>
    Next group of outputs
  • Method Details

    • next

      @Nullable List<T> next()
      Next group of outputs

      Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop, but used by a if statement instead.

      Returns:
      next group or null if no more outputs
    • hasNext

      boolean hasNext()
      Are there more outputs?

      Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop, but used by a if statement instead.

      Returns:
      true if more outputs