Package w.eventbus

Interface EventBus

All Known Implementing Classes:
SimpleEventBus

public interface EventBus
Author:
whilein
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    dispatch(@NotNull Event event)
    Отправить событие на все слушатели, которые подписаны на него.
    <E extends AsyncEvent>
    @NotNull CompletableFuture<E>
    dispatchAsync(E event)
     
    @NotNull org.slf4j.Logger
    Получить логгер, который будет использоваться для лога ошибок.
    void
    register(@NotNull Class<?> subscriptionType)
    Зарегистрировать слушатели из класса.
    <E extends Event>
    @NotNull RegisteredSubscription
    register(@NotNull Class<E> type, @NotNull Consumer<@NotNull E> subscription)
    Зарегистрировать подписку на событие.
    <E extends Event>
    @NotNull RegisteredSubscription
    register(@NotNull Class<E> type, @NotNull PostOrder order, @NotNull Consumer<@NotNull E> subscription)
    Зарегистрировать подписку на событие.
    void
    register(@NotNull Object subscription)
    Зарегистрировать слушатели из объекта.
    void
    register(@NotNull Object namespace, @NotNull Class<?> subscriptionType)
    Зарегистрировать слушатели из класса.
    <E extends Event>
    @NotNull RegisteredSubscription
    register(@NotNull Object namespace, @NotNull Class<E> type, @NotNull Consumer<@NotNull E> subscription)
    Зарегистрировать подписку на событие.
    <E extends Event>
    @NotNull RegisteredSubscription
    register(@NotNull Object namespace, @NotNull Class<E> type, @NotNull PostOrder order, @NotNull Consumer<@NotNull E> subscription)
    Зарегистрировать подписку на событие.
    void
    register(@NotNull Object namespace, @NotNull Object subscription)
    Зарегистрировать слушатели из объекта.
    void
    unregister(@NotNull RegisteredSubscription subscription)
    Удалить подписку на события
    void
     
    void
    unregisterAll(@NotNull Class<?> ownerType)
    Удалить все подписки на события, зарегистрированные из определённого класса.
    void
    unregisterAll(@NotNull Object owner)
    Удалить все подписки на события, зарегистрированные из определённого объекта.
    void
    unregisterAllByNamespace(@NotNull Object namespace)
    Удалить все подписки на события, зарегистрированные в определённом неймспейсе.
  • Method Details

    • getLogger

      @NotNull @NotNull org.slf4j.Logger getLogger()
      Получить логгер, который будет использоваться для лога ошибок.
      Returns:
      Логгер
    • unregisterAll

      void unregisterAll(@NotNull @NotNull Object owner)
      Удалить все подписки на события, зарегистрированные из определённого объекта.
      Parameters:
      owner - Объект, в котором находятся подписки на события
    • unregisterAll

      void unregisterAll(@NotNull @NotNull Class<?> ownerType)
      Удалить все подписки на события, зарегистрированные из определённого класса.
      Parameters:
      ownerType - Класс, в котором находятся подписки на события
    • unregisterAllByNamespace

      void unregisterAllByNamespace(@NotNull @NotNull Object namespace)
      Удалить все подписки на события, зарегистрированные в определённом неймспейсе.
      Parameters:
      namespace - Неймспейс
    • unregisterAll

      void unregisterAll()
    • unregister

      void unregister(@NotNull @NotNull RegisteredSubscription subscription)
      Удалить подписку на события
      Parameters:
      subscription - Подписка
    • register

      @NotNull <E extends Event> @NotNull RegisteredSubscription register(@NotNull @NotNull Object namespace, @NotNull @NotNull Class<E> type, @NotNull @NotNull Consumer<@NotNull E> subscription)
      Зарегистрировать подписку на событие.
      Type Parameters:
      E - Тип события
      Parameters:
      namespace - Неймспейс
      type - Класс события
      subscription - Слушатель
      Returns:
      Зарегистрированный слушатель
    • register

      @NotNull <E extends Event> @NotNull RegisteredSubscription register(@NotNull @NotNull Class<E> type, @NotNull @NotNull Consumer<@NotNull E> subscription)
      Зарегистрировать подписку на событие.
      Type Parameters:
      E - Тип события
      Parameters:
      type - Класс события
      subscription - Слушатель
      Returns:
      Зарегистрированный слушатель
    • register

      @NotNull <E extends Event> @NotNull RegisteredSubscription register(@NotNull @NotNull Object namespace, @NotNull @NotNull Class<E> type, @NotNull @NotNull PostOrder order, @NotNull @NotNull Consumer<@NotNull E> subscription)
      Зарегистрировать подписку на событие.
      Type Parameters:
      E - Тип события
      Parameters:
      namespace - Неймспейс
      type - Класс события
      subscription - Подписка
      order - Порядок слушателя
      Returns:
      Зарегистрированный слушатель
    • register

      @NotNull <E extends Event> @NotNull RegisteredSubscription register(@NotNull @NotNull Class<E> type, @NotNull @NotNull PostOrder order, @NotNull @NotNull Consumer<@NotNull E> subscription)
      Зарегистрировать подписку на событие.
      Type Parameters:
      E - Тип события
      Parameters:
      type - Класс события
      subscription - Подписка
      order - Порядок слушателя
      Returns:
      Зарегистрированный слушатель
    • register

      void register(@NotNull @NotNull Object namespace, @NotNull @NotNull Object subscription)
      Зарегистрировать слушатели из объекта.
      Parameters:
      namespace - Неймспейс
      subscription - Объект со слушателями
    • register

      void register(@NotNull @NotNull Object namespace, @NotNull @NotNull Class<?> subscriptionType)
      Зарегистрировать слушатели из класса. Методы, которые слушают события, должны быть статичны.
      Parameters:
      namespace - Неймспейс
      subscriptionType - Класс со статичными слушателями
    • register

      void register(@NotNull @NotNull Object subscription)
      Зарегистрировать слушатели из объекта.
      Parameters:
      subscription - Объект со слушателями
    • register

      void register(@NotNull @NotNull Class<?> subscriptionType)
      Зарегистрировать слушатели из класса. Методы, которые слушают события, должны быть статичны.
      Parameters:
      subscriptionType - Класс со статичными слушателями
    • dispatchAsync

      @NotNull <E extends AsyncEvent> @NotNull CompletableFuture<E> dispatchAsync(@NotNull E event)
    • dispatch

      void dispatch(@NotNull @NotNull Event event)
      Отправить событие на все слушатели, которые подписаны на него.
      Parameters:
      event - Событие