Class MutableTree<SELF extends MutableTree<SELF>>

java.lang.Object
xyz.cofe.collection.MutableTree<SELF>
Type Parameters:
SELF - Собыственный тип дерева (в дочерних класса должен содержать сам класс)
All Implemented Interfaces:
GetTreeParent<SELF>, ImTree<SELF>, ImTreeWalk<SELF>, Tree<SELF>, TreeNotify<SELF>, UpTree<SELF>

public abstract class MutableTree<SELF extends MutableTree<SELF>>
extends java.lang.Object
implements Tree<SELF>, GetTreeParent<SELF>, UpTree<SELF>
Мутериуемое дерево
  • Nested Class Summary

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

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

    Fields 
    Modifier and Type Field Description
    protected java.lang.Integer cacheCount
    Кол-во дочерних узлов включая вложенные
    protected java.util.List<SELF> children  
    protected ListenersHelper<TreeEvent.Listener<SELF>,​TreeEvent<SELF>> listeners
    Подписчики на события дерева
    protected SELF parent  
  • Constructor Summary

    Constructors 
    Constructor Description
    MutableTree()  
  • Method Summary

    Modifier and Type Method Description
    java.lang.AutoCloseable addTreeListener​(boolean weak, TreeEvent.Listener<SELF> ls)
    Добавляет подписчика на события изменения дерева
    java.lang.AutoCloseable addTreeListener​(TreeEvent.Listener<SELF> ls)
    Добавляет подписчика на события изменения дерева
    void append​(SELF node)
    Добавляет дочерний узел
    void appends​(java.lang.Iterable<SELF> nodes)
    Добавляет дочерние узлы
    void appends​(SELF... nodes)
    Добавляет дочерние узлы
    java.util.List<SELF> children()
    Возвращает список дочерних узлов
    void clear()
    Удаляет дочерние узлы
    boolean compareAndSetParent​(SELF parent, SELF newparent)
    Устанавливает новый родительский узел, если текущий узел совпадает с указаным
    int count()
    Возвращает кол-во дочерних узлов
    void delete​(SELF node)
    Удаляет дочерние узлы
    void deletes​(java.lang.Iterable<SELF> nodes)
    Удаляет дочерние узлы
    void deletes​(SELF... nodes)
    Удаляет дочерние узлы
    SELF get​(int idx)
    Возвращает дочерний элемент по его индексу
    SELF getNextSibling()
    Возвращает следующий соседний узел
    int getNodesCount()
    Возвращает кол-во дочерних узлов включая вложенные
    SELF getParent()
    Возвращает родитеский узлер текущего узла
    SELF getPreviousSibling()
    Возвращает следующий соседний узел
    int getSibIndex()
    Возвращает индекс узла в списке дочерних узлов по отношению к родителю
    java.util.Set<TreeEvent.Listener<SELF>> getTreeListeners()
    Возвращает всех одписчиков
    void insert​(int idx, SELF node)
    Добавляет дочерний узел
    void inserts​(int idx, java.lang.Iterable<SELF> nodes)
    Добавляет дочерние узлы
    void inserts​(int idx, SELF... nodes)
    Добавляет дочерние узлы
    int level()
    Возвращает вложенность узла начиная от корня
    <EV extends TreeEvent<SELF>>
    java.lang.AutoCloseable
    listen​(java.lang.Class<EV> eventClass, java.util.function.Consumer<EV> listener)
    Добавляет подписчика на события изменения дерева
    Eterable<SELF> nodes()
    Возвращает дочерние элементы
    java.util.List<SELF> path()
    Возвращает путь от корня
    void remove​(int index)
    Удаляет дочерний узел
    void removeAllTreeListeners()
    Удалеяет всех подписчиков
    void removes​(int... indexes)
    Удаляет дочерние узлы
    void removes​(java.lang.Iterable<java.lang.Integer> indexes)
    Удаляет дочерние узлы
    void removes​(java.util.List<java.lang.Integer> indexes, boolean mutateIndexes)
    Удаляет дочерние узлы
    void removeTreeListener​(TreeEvent.Listener<SELF> ls)
    Отписка от уведомлений
    void set​(int idx, SELF node)
    Указывает/заменяет узлы
    void setNodesCount​(java.lang.Integer count)
    Указывает кол-во дочерних узлов включая вложенные
    void setParent​(SELF parent)
    Укзывает родитеский узлер текущего узла
    void sets​(int idx, java.lang.Iterable<SELF> nodes)
    Указывает/заменяет дочерние узлы
    void sets​(int idx, SELF... nodes)
    Указывает/заменяет узлы
    SELF sibling​(int offset)
    Переходит соседнему узлу
    void treeNotify​(TreeEvent<SELF> event)
    Уведомляет о изменении дерева
    ImTreeWalk.Walk<SELF> walk()
    Обход дочерних элементов

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait