Class RefsVisitor<I,O>

java.lang.Object
com.google.common.collect.UnmodifiableIterator<Object>
com.google.common.collect.AbstractIterator<Object>
org.qubership.atp.dataset.model.utils.tree.AllRefsIterator<Object>
org.qubership.atp.dataset.model.utils.tree.RefsVisitor<I,O>
All Implemented Interfaces:
Iterator<Object>

public class RefsVisitor<I,O> extends AllRefsIterator<Object>
  • Field Details

  • Constructor Details

    • RefsVisitor

      public RefsVisitor(@Nonnull Iterator<? extends I> parents, @Nonnull TraverseVisitor<I,O> visitor, @Nullable Predicate<Object> itemsFilter)

      Iterates over a tree hierarchy.
      The Iterator.next() invocation returns item of current iteration, same as AllRefsIterator.
      Reports about vertical level changes using childrenSup and backToParentsCb.
      Does not resolve recursion by default. You can do that in childrenSup or itemsFilter.
      Reports about leafs found using leafsConsumer.
      One iteration may result in invocation of leafsConsumer no more then one time.
      Parameters:
      parents - to iterate over. Inclusive.
      visitor - to handle visit events.
      itemsFilter - filters objects to iterate over. Delegates to AllRefsIterator.itemsFilter
  • Method Details

    • getChildren

      @Nullable protected Iterator<? extends O> getChildren(@Nonnull Object parent)
    • forwardToNewParent

      protected void forwardToNewParent(Object parent)
    • backToPreviousParent

      protected void backToPreviousParent()