Package org.apache.batchee.container.navigator

## Interface ModelNavigator<T>

- All Known Implementing Classes:
    `AbstractNavigator`, `FlowNavigator`, `JobNavigator`

      public interface ModelNavigator<T>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ExecutionElement` | `getFirstExecutionElement​(String restartOn)` |
    `Transition` | `getNextTransition​(ExecutionElement currentExecutionElem, ExecutionStatus currentExecutionStatus)` | Enforces "can't revisit already visited steps rule".
    `T` | `getRootModelElement()` | E.g.

- - ### Method Detail

    - #### getFirstExecutionElement

          ExecutionElement getFirstExecutionElement​(String restartOn)
                                             throws IllegalTransitionException

      Parameters:
        `restartOn` -
      Returns:
      Throws:
        `IllegalTransitionException`

    - #### getNextTransition

          Transition getNextTransition​(ExecutionElement currentExecutionElem,
                                       ExecutionStatus currentExecutionStatus)
                                throws IllegalTransitionException

      Enforces "can't revisit already visited steps rule".
      Throws:
        `IllegalTransitionException`

    - #### getRootModelElement

          T getRootModelElement()

      E.g. the JSLJob for a job, the Flow for a flow, etc.
      Returns: