Dispatches 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.
Adds an unfiltered handler to receive events of this type from all sources.
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.
Type Parameters:
H - The type of handler
Parameters:
type - the event type associated with this handler
handler - the handler
Returns:
the handler registration, can be stored in order to remove the
handler later
Adds a handler to receive events of this type from the given source.
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.
Type Parameters:
H - The type of handler
Parameters:
type - the event type associated with this handler
source - the source associated with this handler
handler - the handler
Returns:
the handler registration, can be stored in order to remove the
handler later
Fires the event from no source. Only unfiltered handlers will receive it.
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.
public abstractvoidfireEventFromSource(Event<?> event,
Object source)
Fires the given event to the handlers listening to the event's type.
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.