public abstract class EventBus extends Object implements HasHandlers
Events to interested parties. Eases decoupling by allowing objects to interact
without having direct dependencies upon one another, and without requiring event sources to deal
with maintaining handler lists. There will typically be one EventBus per application,
broadcasting events that may be of general interest.SimpleEventBus,
ResettableEventBus,
CountingEventBus| Constructor and Description |
|---|
EventBus() |
| Modifier and Type | Method and Description |
|---|---|
abstract <H> HandlerRegistration |
addHandler(Event.Type<H> type,
H handler)
Adds an unfiltered handler to receive events of this type from all sources.
|
abstract <H> HandlerRegistration |
addHandlerToSource(Event.Type<H> type,
Object source,
H handler)
Adds a handler to receive events of this type from the given source.
|
protected static <H> void |
dispatchEvent(Event<H> event,
H handler)
Invokes
event.dispatch with handler. |
abstract void |
fireEvent(Event<?> event)
Fires the event from no source.
|
abstract void |
fireEventFromSource(Event<?> event,
Object source)
Fires the given event to the handlers listening to the event's type.
|
protected static void |
setSourceOfEvent(Event<?> event,
Object source)
Sets
source as the source of event. |
protected static <H> void dispatchEvent(Event<H> event, H handler)
event.dispatch with handler.
Protected to allow EventBus implementations in different packages to dispatch events even
though the event.dispatch method is protected.
protected static void setSourceOfEvent(Event<?> event, Object source)
source as the source of event.
Protected to allow EventBus implementations in different packages to set an event source
even though the event.setSource method is protected.
public abstract <H> HandlerRegistration addHandler(Event.Type<H> type, H handler)
It is rare to call this method directly. More typically an Event subclass will
provide a static register method, or a widget will accept handlers directly.
H - The type of handlertype - the event type associated with this handlerhandler - the handlerpublic abstract <H> HandlerRegistration addHandlerToSource(Event.Type<H> type, Object source, H handler)
It is rare to call this method directly. More typically a Event subclass will
provide a static register method, or a widget will accept handlers directly.
H - The type of handlertype - the event type associated with this handlersource - the source associated with this handlerhandler - the handlerpublic abstract void fireEvent(Event<?> event)
Any exceptions thrown by handlers will be bundled into a UmbrellaException and then
re-thrown after all handlers have completed. An exception thrown by a handler will not prevent
other handlers from executing.
fireEvent in interface HasHandlersevent - the event to fireUmbrellaException - wrapping exceptions thrown by handlerspublic abstract void fireEventFromSource(Event<?> event, Object source)
Any exceptions thrown by handlers will be bundled into a UmbrellaException and then
re-thrown after all handlers have completed. An exception thrown by a handler will not prevent
other handlers from executing.
event - the event to fireUmbrellaException - wrapping exceptions thrown by handlersCopyright © 2020. All rights reserved.