public abstract class EventBus
extends java.lang.Object
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,
                  java.lang.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.dispatchwithhandler. | 
| abstract void | fireEvent(Event<?> event)Fires the event from no source. | 
| abstract void | fireEventFromSource(Event<?> event,
                   java.lang.Object source)Fires the given event to the handlers listening to the event's type. | 
| protected static void | setSourceOfEvent(Event<?> event,
                java.lang.Object source)Sets  sourceas the source ofevent. | 
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, java.lang.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, java.lang.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.
event - the event to fireUmbrellaException - wrapping exceptions thrown by handlerspublic abstract void fireEventFromSource(Event<?> event, java.lang.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 handlers