GWT 2.7.0

com.google.web.bindery.event.shared
Class EventBus

java.lang.Object
  extended by com.google.web.bindery.event.shared.EventBus
Direct Known Subclasses:
CountingEventBus, EventBus, RecordingEventBus, ResettableEventBus, SimpleEventBus

public abstract class EventBus
extends java.lang.Object

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.

See Also:
SimpleEventBus, ResettableEventBus, CountingEventBus

Constructor Summary
EventBus()
           
 
Method Summary
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.dispatch with handler.
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 source as the source of event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventBus

public EventBus()
Method Detail

dispatchEvent

protected static <H> void dispatchEvent(Event<H> event,
                                        H handler)
Invokes event.dispatch with handler.

Protected to allow EventBus implementations in different packages to dispatch events even though the event.dispatch method is protected.


setSourceOfEvent

protected static void setSourceOfEvent(Event<?> event,
                                       java.lang.Object source)
Sets 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.


addHandler

public abstract <H> HandlerRegistration addHandler(Event.Type<H> type,
                                                   H handler)
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

addHandlerToSource

public 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.

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

fireEvent

public abstract void fireEvent(Event<?> event)
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.

Parameters:
event - the event to fire
Throws:
UmbrellaException - wrapping exceptions thrown by handlers

fireEventFromSource

public abstract void fireEventFromSource(Event<?> event,
                                         java.lang.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.

Parameters:
event - the event to fire
Throws:
UmbrellaException - wrapping exceptions thrown by handlers

GWT 2.7.0