Interface TreeNotify<A extends Tree<A>>

  • Type Parameters:
    A - тип узла дерева
    All Known Subinterfaces:
    IndexTree<A>, UpTree<A>
    All Known Implementing Classes:
    BasicTree, MutableTree

    public interface TreeNotify<A extends Tree<A>>
    Подписка на события изменения структуры дерева
    • Method Detail

      • treeNotify

        default void treeNotify​(TreeEvent<A> event)
        Уведомляет о изменении дерева
        Parameters:
        event - событие
      • addTreeListener

        default AutoCloseable addTreeListener​(TreeEvent.Listener<A> ls)
        Добавляет подписчика на изменения
        Parameters:
        ls - подписчик
        Returns:
        отписка от уведомлений
      • listen

        default <EV extends TreeEvent<A>> AutoCloseable listen​(Class<EV> eventClass,
                                                               Consumer<EV> listener)
        Добавляет подписчика на событие определенного типа
        Type Parameters:
        EV - тип события
        Parameters:
        eventClass - тип события
        listener - подписчик
        Returns:
        отписка от уведомлений
      • addTreeListener

        default AutoCloseable addTreeListener​(boolean weak,
                                              TreeEvent.Listener<A> ls)
        Добавляет подписчика на изменения
        Parameters:
        weak - true - добавить подписчика как weak ссылку
        ls - подписчик
        Returns:
        отписка от уведомлений
      • removeTreeListener

        default void removeTreeListener​(TreeEvent.Listener<A> ls)
        Удаляет подписчика
        Parameters:
        ls - подписчик
      • getTreeListeners

        default Set<TreeEvent.Listener<A>> getTreeListeners()
        Возвращает всех одписчиков
        Returns:
        подписчики
      • removeAllTreeListeners

        default void removeAllTreeListeners()
        Удалеяет всех подписчиков