GWT 0.0.0

com.google.gwt.event.shared.testing
Class CountingEventBus

java.lang.Object
  extended by com.google.gwt.event.shared.EventBus
      extended by com.google.gwt.event.shared.testing.CountingEventBus
All Implemented Interfaces:
HasHandlers

public class CountingEventBus
extends EventBus

Wraps an EventBus to keep a count of registered handlers. Handy for tests.


Constructor Summary
CountingEventBus()
           
CountingEventBus(EventBus wrapped)
           
 
Method Summary
<H extends EventHandler>
HandlerRegistration
addHandler(GwtEvent.Type<H> type, H handler)
          Adds an unfiltered handler to receive events of this type from all sources.
<H extends EventHandler>
HandlerRegistration
addHandlerToSource(GwtEvent.Type<H> type, java.lang.Object source, H handler)
          Adds a handler to receive events of this type from the given source.
 void fireEvent(GwtEvent<?> event)
          Fires the event from no source.
 void fireEventFromSource(GwtEvent<?> event, java.lang.Object source)
          Fires the given event to the handlers listening to the event's type.
 int getCount(GwtEvent.Type<?> type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CountingEventBus

public CountingEventBus()

CountingEventBus

public CountingEventBus(EventBus wrapped)
Method Detail

addHandler

public <H extends EventHandler> HandlerRegistration addHandler(GwtEvent.Type<H> type,
                                                               H handler)
Description copied from class: EventBus
Adds an unfiltered handler to receive events of this type from all sources.

It is rare to call this method directly. More typically a GwtEvent subclass will provide a static register method, or a widget will accept handlers directly.

A tip: to make a handler de-register itself, the following works:

new MyHandler() {
  HandlerRegistration reg = MyEvent.register(eventBus, this);
 
  public void onMyThing(MyEvent event) {
    /* do your thing */
    reg.removeHandler();
  }
 };
 

Specified by:
addHandler in class EventBus
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 <H extends EventHandler> HandlerRegistration addHandlerToSource(GwtEvent.Type<H> type,
                                                                       java.lang.Object source,
                                                                       H handler)
Description copied from class: EventBus
Adds a handler to receive events of this type from the given source.

It is rare to call this method directly. More typically a GwtEvent subclass will provide a static register method, or a widget will accept handlers directly.

Specified by:
addHandlerToSource in class EventBus
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 void fireEvent(GwtEvent<?> event)
Description copied from class: EventBus
Fires the event from no source. Only unfiltered handlers will receive it.

Specified by:
fireEvent in interface HasHandlers
Specified by:
fireEvent in class EventBus
Parameters:
event - the event to fire

fireEventFromSource

public void fireEventFromSource(GwtEvent<?> event,
                                java.lang.Object source)
Description copied from class: EventBus
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.

Specified by:
fireEventFromSource in class EventBus
Parameters:
event - the event to fire

getCount

public int getCount(GwtEvent.Type<?> type)

GWT 0.0.0