Class PageEvent<T>

java.lang.Object
xyz.cofe.cbuffer.page.PageEvent<T>
Type Parameters:
T - Тип события
All Implemented Interfaces:
java.util.function.Consumer<T>

public class PageEvent<T>
extends java.lang.Object
implements java.util.function.Consumer<T>
Событие связанные с работой кэширующего буфера
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  PageEvent.ExtListenersHelper<ListenerType,​EventType>
    Помошник при работе с подписчиками
  • Field Summary

    Fields 
    Modifier and Type Field Description
    PageEvent.ExtListenersHelper<java.util.function.Consumer<? super T>,​? super T> helper
    Помошник по работе с событиями
  • Constructor Summary

    Constructors 
    Constructor Description
    PageEvent()  
  • Method Summary

    Modifier and Type Method Description
    void accept​(T ev)
    Рассылка уведомления подписчикам
    int getListenersCount()
    Возвращает кол-во подписчиков
    java.lang.AutoCloseable listen​(java.util.function.Consumer<? super T> listener)
    Добавление подписчика
    <A extends T>
    void
    notify​(A ev)
    Рассылка уведомления подписчикам
    <A extends T>
    void
    send​(java.util.function.Supplier<A> ev)
    Рассылка уведомления подписчикам, рассылает при условии, что есть подписчики getListenersCount()

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface java.util.function.Consumer

    andThen
  • Field Details

  • Constructor Details

  • Method Details

    • getListenersCount

      public int getListenersCount()
      Возвращает кол-во подписчиков
      Returns:
      кол-во подписичиков
    • listen

      public java.lang.AutoCloseable listen​(java.util.function.Consumer<? super T> listener)
      Добавление подписчика
      Parameters:
      listener - подписчик
      Returns:
      отписка от уведомлений
    • notify

      public <A extends T> void notify​(A ev)
      Рассылка уведомления подписчикам
      Parameters:
      ev - уведомление
    • send

      public <A extends T> void send​(java.util.function.Supplier<A> ev)
      Рассылка уведомления подписчикам, рассылает при условии, что есть подписчики getListenersCount()
      Parameters:
      ev - генератор уведомления
    • accept

      public void accept​(T ev)
      Рассылка уведомления подписчикам
      Specified by:
      accept in interface java.util.function.Consumer<T>
      Parameters:
      ev - уведомление