E - the event typepublic interface EventBus<E>
registration of EventSubscribers,
and supports posting events to them.
EventSubscribers will receive all events which are applicable
(can be casted) to their registered type.
| Modifier and Type | Method and Description |
|---|---|
@NonNull java.lang.Class<E> |
eventType()
Gets the event type of the bus.
|
<T extends E> |
hasSubscribers(@NonNull java.lang.Class<T> clazz)
Determines whether or not the specified event has subscribers.
|
@NonNull PostResult |
post(E event)
Posts an event to all registered subscribers.
|
<T extends E> |
register(@NonNull java.lang.Class<T> clazz,
@NonNull EventSubscriber<? super T> subscriber)
Registers the given
subscriber to receive events. |
@NonNull com.google.common.collect.SetMultimap<java.lang.Class<?>,EventSubscriber<?>> |
subscribers()
Gets an immutable multimap containing all of the subscribers
currently registered.
|
void |
unregister(@NonNull EventSubscriber<?> subscriber)
Unregisters a previously registered
subscriber. |
void |
unregister(@NonNull java.util.function.Predicate<EventSubscriber<?>> predicate)
Unregisters all subscribers matching the
predicate. |
void |
unregisterAll()
Unregisters all subscribers.
|
@NonNull java.lang.Class<E> eventType()
This is represented by the E type parameter.
@NonNull PostResult post(E event)
event - the event<T extends E> void register(@NonNull java.lang.Class<T> clazz, @NonNull EventSubscriber<? super T> subscriber)
subscriber to receive events.T - the event typeclazz - the registered type. the subscriber will only receive events which can be casted to this type.subscriber - the subscribervoid unregister(@NonNull EventSubscriber<?> subscriber)
subscriber.subscriber - the subscribervoid unregister(@NonNull java.util.function.Predicate<EventSubscriber<?>> predicate)
predicate.predicate - the predicate to test subscribers for removalvoid unregisterAll()
<T extends E> boolean hasSubscribers(@NonNull java.lang.Class<T> clazz)
T - the event typeclazz - the event clazz@NonNull com.google.common.collect.SetMultimap<java.lang.Class<?>,EventSubscriber<?>> subscribers()
Each subscriber is mapped to the type defined when it was
initially registered.