Interface UpTree<A extends UpTree<A>>

Type Parameters:
A - тип узла дерева
All Superinterfaces:
GetTreeParent<A>, ImTree<A>, ImTreeWalk<A>, Tree<A>, TreeNotify<A>
All Known Subinterfaces:
IndexTree<A>
All Known Implementing Classes:
MutableTree

public interface UpTree<A extends UpTree<A>>
extends Tree<A>, GetTreeParent<A>, TreeNotify<A>
Узел дерева с поддержкой родительского узла
  • Nested Class Summary

    Nested classes/interfaces inherited from interface xyz.cofe.collection.ImTreeWalk

    ImTreeWalk.Walk<A extends ImTree<? extends A>>
  • Method Summary

    Modifier and Type Method Description
    default void append​(A node)
    Добавляет дочерний узел
    default void appends​(A... nodes)
    Добавляет дочерние узлы
    default void appends​(java.lang.Iterable<A> nodes)
    Добавляет дочерние узлы
    default boolean compareAndSetParent​(A parent, A newparent)  
    default void delete​(A node)
    Удаляет дочерние узлы
    default void deletes​(A... nodes)
    Удаляет дочерние узлы
    default void deletes​(java.lang.Iterable<A> nodes)
    Удаляет дочерние узлы
    default A getNextSibling()
    Возвращает следующий соседний узел
    default A getParent()
    Возвращает родитеский узлер текущего узла
    default A getPreviousSibling()
    Возвращает следующий соседний узел
    default int getSibIndex()
    Возвращает индекс узла в списке дочерних узлов по отношению к родителю
    default void insert​(int idx, A node)
    Добавляет дочерний узел
    default void inserts​(int idx, A... nodes)
    Добавляет дочерние узлы
    default void inserts​(int idx, java.lang.Iterable<A> nodes)
    Добавляет дочерние узлы
    default int level()
    Возвращает вложенность узла начиная от корня
    default java.util.List<A> path()
    Возвращает путь от корня
    default void remove​(int indexes)
    Удаляет дочерний узел
    default void removes​(int... indexes)
    Удаляет дочерние узлы
    default void removes​(java.lang.Iterable<java.lang.Integer> indexes)
    Удаляет дочерние узлы
    default void set​(int idx, A node)
    Указывает/заменяет узлы
    default void setParent​(A parent)  
    default void sets​(int idx, A... nodes)
    Указывает/заменяет узлы
    default void sets​(int idx, java.lang.Iterable<A> nodes)
    Указывает/заменяет дочерние узлы
    default A sibling​(int offset)
    Переходит соседнему узлу

    Methods inherited from interface xyz.cofe.collection.ImTreeWalk

    walk

    Methods inherited from interface xyz.cofe.collection.Tree

    clear, count, get, nodes
  • Method Details

    • getParent

      default A getParent()
      Description copied from interface: GetTreeParent
      Возвращает родитеский узлер текущего узла
      Specified by:
      getParent in interface GetTreeParent<A extends UpTree<A>>
      Returns:
      Родительский узел или null
    • setParent

      default void setParent​(A parent)
    • compareAndSetParent

      default boolean compareAndSetParent​(A parent, A newparent)
    • append

      default void append​(A node)
      Description copied from interface: Tree
      Добавляет дочерний узел
      Specified by:
      append in interface Tree<A extends UpTree<A>>
      Parameters:
      node - узел
    • appends

      default void appends​(A... nodes)
      Description copied from interface: Tree
      Добавляет дочерние узлы
      Specified by:
      appends in interface Tree<A extends UpTree<A>>
      Parameters:
      nodes - дочерние узлы
    • appends

      default void appends​(java.lang.Iterable<A> nodes)
      Description copied from interface: Tree
      Добавляет дочерние узлы
      Specified by:
      appends in interface Tree<A extends UpTree<A>>
      Parameters:
      nodes - дочерние узлы
    • insert

      default void insert​(int idx, A node)
      Description copied from interface: Tree
      Добавляет дочерний узел
      Specified by:
      insert in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс в какую позицию будет добавлен узел
      node - узел
    • inserts

      default void inserts​(int idx, A... nodes)
      Description copied from interface: Tree
      Добавляет дочерние узлы
      Specified by:
      inserts in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс в какую позицию будет добавлены узлы
      nodes - дочерние узлы
    • inserts

      default void inserts​(int idx, java.lang.Iterable<A> nodes)
      Description copied from interface: Tree
      Добавляет дочерние узлы
      Specified by:
      inserts in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс в какую позицию будет добавлены узлы
      nodes - дочерние узлы
    • set

      default void set​(int idx, A node)
      Description copied from interface: Tree
      Указывает/заменяет узлы
      Specified by:
      set in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс
      node - узел
    • sets

      default void sets​(int idx, A... nodes)
      Description copied from interface: Tree
      Указывает/заменяет узлы
      Specified by:
      sets in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс
      nodes - узелы
    • sets

      default void sets​(int idx, java.lang.Iterable<A> nodes)
      Description copied from interface: Tree
      Указывает/заменяет дочерние узлы
      Specified by:
      sets in interface Tree<A extends UpTree<A>>
      Parameters:
      idx - индекс
      nodes - узелы
    • level

      default int level()
      Возвращает вложенность узла начиная от корня
      Returns:
      уровень, 0 - корень
    • path

      default java.util.List<A> path()
      Возвращает путь от корня
      Returns:
      путь
    • remove

      default void remove​(int indexes)
      Description copied from interface: Tree
      Удаляет дочерний узел
      Specified by:
      remove in interface Tree<A extends UpTree<A>>
      Parameters:
      indexes - индексы узлов
    • removes

      default void removes​(int... indexes)
      Description copied from interface: Tree
      Удаляет дочерние узлы
      Specified by:
      removes in interface Tree<A extends UpTree<A>>
      Parameters:
      indexes - индексы узлов
    • removes

      default void removes​(java.lang.Iterable<java.lang.Integer> indexes)
      Description copied from interface: Tree
      Удаляет дочерние узлы
      Specified by:
      removes in interface Tree<A extends UpTree<A>>
      Parameters:
      indexes - индексы узлов
    • delete

      default void delete​(A node)
      Description copied from interface: Tree
      Удаляет дочерние узлы
      Specified by:
      delete in interface Tree<A extends UpTree<A>>
      Parameters:
      node - дочерние узлы
    • deletes

      default void deletes​(A... nodes)
      Description copied from interface: Tree
      Удаляет дочерние узлы
      Specified by:
      deletes in interface Tree<A extends UpTree<A>>
      Parameters:
      nodes - дочерние узлы
    • deletes

      default void deletes​(java.lang.Iterable<A> nodes)
      Description copied from interface: Tree
      Удаляет дочерние узлы
      Specified by:
      deletes in interface Tree<A extends UpTree<A>>
      Parameters:
      nodes - дочерние узлы
    • getSibIndex

      default int getSibIndex()
      Возвращает индекс узла в списке дочерних узлов по отношению к родителю
      Returns:
      индекс или -1
    • sibling

      default A sibling​(int offset)
      Переходит соседнему узлу
      Parameters:
      offset - смещение от текущего
      Returns:
      узел или null
    • getPreviousSibling

      default A getPreviousSibling()
      Возвращает следующий соседний узел
      Returns:
      Узел или null в случаи достижения края
    • getNextSibling

      default A getNextSibling()
      Возвращает следующий соседний узел
      Returns:
      Узел или null в случаи достижения края