Interface TraverseHandler<I,O>

Type Parameters:
I - type of current depth items to iterate over.
O - type of the deeper depth items to iterate over.
All Known Subinterfaces:
TraverseAndLeafsHandler<I,O,L>, TraverseVisitor<I,O>
All Known Implementing Classes:
AbstractDslUiHandler, AbstractDsUiHandler, DsAttrPathUiHandler, DslAttrHandler, DslUiHandler, DsParamHandler

public interface TraverseHandler<I,O>
Describes paths to iterate over and explains how to construct leaf. Make possible to iterate over tree of different types of objects.
  • Method Details

    • backToPreviousParent

      @Nonnull TraverseHandler<?,I> backToPreviousParent()
      Invoked when iteration goes upper to parents in a tree hierarchy.
      Returns:
      handler of previous depth.
    • forwardToNewParent

      @Nonnull TraverseHandler<O,?> forwardToNewParent(@Nonnull I parent)
      Invoked when iteration goes deeper to children which becomes new parent in a tree hierarchy.
      Returns:
      handler of deeper depth level.
    • getChildren

      @Nullable Iterator<? extends O> getChildren(@Nonnull I item)
      Explains how to get children from parent. May return null. Invoked when iteration goes deeper.
      Parameters:
      item - go get children from
      Returns:
      children