Class BasicTree<SELF extends BasicTree<SELF>>

java.lang.Object
xyz.cofe.collection.BasicTree<SELF>
Type Parameters:
SELF - SELF тип производный от BasicTree
All Implemented Interfaces:
GetTreeParent<SELF>, ImTree<SELF>, ImTreeWalk<SELF>, IndexTree<SELF>, Tree<SELF>, TreeNotify<SELF>, UpTree<SELF>

public abstract class BasicTree<SELF extends BasicTree<SELF>>
extends java.lang.Object
implements Tree<SELF>, UpTree<SELF>, IndexTree<SELF>
Базовая реализация tree
  • 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.util.List<SELF> childrenList  
    protected ListenersHelper<TreeEvent.Listener<SELF>,​TreeEvent<SELF>> listenersHelper
    Помощь для работы с подписчиками
    protected int nodesCount  
    protected SELF parent  
  • Constructor Summary

    Constructors 
    Constructor Description
    BasicTree()  
  • 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)
    Добавляет дочерние узлы
    protected void changes​(int idx, SELF old, SELF cur)
    Уведомление о изменении списка дочерних узлов
    protected 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)
    Добавляет дочерние узлы
    <EV extends TreeEvent<SELF>>
    java.lang.AutoCloseable
    listen​(java.lang.Class<EV> eventClass, java.util.function.Consumer<EV> listener)
    Добавляет подписчика на событие определенного типа
    Eterable<SELF> nodes()
    Возвращает дочерние элементы
    void remove​(int index)
    Удаляет дочерний узел
    void removeAllTreeListeners()
    Удалеяет всех подписчиков
    void removes​(int... indexes)
    Удаляет дочерние узлы
    void removes​(java.lang.Iterable<java.lang.Integer> indexes)
    Удаляет дочерние узлы
    void removeTreeListener​(TreeEvent.Listener<SELF> ls)
    Удаляет подписчика
    void set​(int idx, SELF node)
    Указывает/заменяет узлы
    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)
    Уведомляет о изменении дерева

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface xyz.cofe.collection.ImTreeWalk

    walk

    Methods inherited from interface xyz.cofe.collection.IndexTree

    deepOffset, getRootOffset

    Methods inherited from interface xyz.cofe.collection.UpTree

    level, path