com.tibbo.aggregate.common.context

## Interface ContextVisitor<T extends Context>

- All Known Implementing Classes:
    DefaultContextVisitor

      public interface ContextVisitor<T extends Context>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.LinkedList<java.util.concurrent.Callable<java.lang.Object>>` | `getTasks()`
    `boolean` | `isConcurrent()`
    `default boolean` | `isCurrentThenChildrenOrder()`
    `boolean` | `isStartContext()`
    `boolean` | `shouldVisit(T context)`
    `void` | `visit(T context)`

- - ### Method Detail

    - #### isConcurrent

          boolean isConcurrent()

    - #### shouldVisit

          boolean shouldVisit(T context)
                       throws ContextException

      Throws:
        `ContextException`

    - #### visit

          void visit(T context)
              throws ContextException

      Throws:
        `ContextException`

    - #### getTasks

          java.util.LinkedList<java.util.concurrent.Callable<java.lang.Object>> getTasks()

    - #### isStartContext

          boolean isStartContext()

    - #### isCurrentThenChildrenOrder

          default boolean isCurrentThenChildrenOrder()

      Returns:
        `true` if this visitor should traverse context in forward order, i.e. first visit the children list, then process the current node; otherwise visitor first processes the current node and then visits the children. The forward order is usually preferable but can be unsuitable for example when visitor structurally modifies the subtree during traversal.