Package w.eventbus
Interface EventBus
- All Known Implementing Classes:
SimpleEventBus
public interface EventBus
- Author:
- whilein
-
Method Summary
Modifier and TypeMethodDescriptionvoidОтправить событие на все слушатели, которые подписаны на него.<E extends AsyncEvent>
@NotNull CompletableFuture<E>dispatchAsync(E event) @NotNull org.slf4j.LoggerПолучить логгер, который будет использоваться для лога ошибок.voidЗарегистрировать слушатели из класса.<E extends Event>
@NotNull RegisteredSubscriptionЗарегистрировать подписку на событие.<E extends Event>
@NotNull RegisteredSubscriptionregister(@NotNull Class<E> type, @NotNull PostOrder order, @NotNull Consumer<@NotNull E> subscription) Зарегистрировать подписку на событие.voidЗарегистрировать слушатели из объекта.voidЗарегистрировать слушатели из класса.<E extends Event>
@NotNull RegisteredSubscriptionregister(@NotNull Object namespace, @NotNull Class<E> type, @NotNull Consumer<@NotNull E> subscription) Зарегистрировать подписку на событие.<E extends Event>
@NotNull RegisteredSubscriptionregister(@NotNull Object namespace, @NotNull Class<E> type, @NotNull PostOrder order, @NotNull Consumer<@NotNull E> subscription) Зарегистрировать подписку на событие.voidЗарегистрировать слушатели из объекта.voidunregister(@NotNull RegisteredSubscription subscription) Удалить подписку на событияvoidvoidunregisterAll(@NotNull Class<?> ownerType) Удалить все подписки на события, зарегистрированные из определённого класса.voidunregisterAll(@NotNull Object owner) Удалить все подписки на события, зарегистрированные из определённого объекта.voidunregisterAllByNamespace(@NotNull Object namespace) Удалить все подписки на события, зарегистрированные в определённом неймспейсе.
-
Method Details
-
getLogger
@NotNull @NotNull org.slf4j.Logger getLogger()Получить логгер, который будет использоваться для лога ошибок.- Returns:
- Логгер
-
unregisterAll
Удалить все подписки на события, зарегистрированные из определённого объекта.- Parameters:
owner- Объект, в котором находятся подписки на события
-
unregisterAll
Удалить все подписки на события, зарегистрированные из определённого класса.- Parameters:
ownerType- Класс, в котором находятся подписки на события
-
unregisterAllByNamespace
Удалить все подписки на события, зарегистрированные в определённом неймспейсе.- Parameters:
namespace- Неймспейс
-
unregisterAll
void unregisterAll() -
unregister
Удалить подписку на события- 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
Зарегистрировать слушатели из объекта.- Parameters:
namespace- Неймспейсsubscription- Объект со слушателями
-
register
Зарегистрировать слушатели из класса. Методы, которые слушают события, должны быть статичны.- Parameters:
namespace- НеймспейсsubscriptionType- Класс со статичными слушателями
-
register
Зарегистрировать слушатели из объекта.- Parameters:
subscription- Объект со слушателями
-
register
Зарегистрировать слушатели из класса. Методы, которые слушают события, должны быть статичны.- Parameters:
subscriptionType- Класс со статичными слушателями
-
dispatchAsync
-
dispatch
Отправить событие на все слушатели, которые подписаны на него.- Parameters:
event- Событие
-