Class HandlerManager

java.lang.Object
com.google.gwt.event.shared.HandlerManager
All Implemented Interfaces:
HasHandlers

public class HandlerManager extends Object implements HasHandlers
Manager responsible for adding handlers to event sources and firing those handlers on passed in events. Primitive ancestor of EventBus, and used at the core of {com.google.gwt.user.client.ui.Widget}.

While widget authors should continue to use Widget.addDomHandler(EventHandler, com.google.gwt.event.dom.client.DomEvent.Type) and Widget.addHandler(EventHandler, com.google.gwt.event.shared.GwtEvent.Type) , application developers are strongly discouraged from using a HandlerManager instance as a global event dispatch mechanism.

  • Constructor Details

    • HandlerManager

      public HandlerManager(Object source)
      Creates a handler manager with a source to be set on all events fired via fireEvent(GwtEvent). Handlers will be fired in the order that they are added.
      Parameters:
      source - the default event source
    • HandlerManager

      public HandlerManager(Object source, boolean fireInReverseOrder)
      Creates a handler manager with the given source, specifying the order in which handlers are fired.
      Parameters:
      source - the event source
      fireInReverseOrder - true to fire handlers in reverse order
  • Method Details

    • addHandler

      public <H extends EventHandler> HandlerRegistration addHandler(GwtEvent.Type<H> type, H handler)
      Adds a handler.
      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
    • fireEvent

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

      Note, any subclass should be very careful about overriding this method, as adds/removes of handlers will not be safe except within this implementation.

      Specified by:
      fireEvent in interface HasHandlers
      Parameters:
      event - the event
    • getHandler

      public <H extends EventHandler> H getHandler(GwtEvent.Type<H> type, int index)
      Gets the handler at the given index.
      Type Parameters:
      H - the event handler type
      Parameters:
      type - the handler's event type
      index - the index
      Returns:
      the given handler
    • getHandlerCount

      public int getHandlerCount(GwtEvent.Type<?> type)
      Gets the number of handlers listening to the event type.
      Parameters:
      type - the event type
      Returns:
      the number of registered handlers
    • isEventHandled

      public boolean isEventHandled(GwtEvent.Type<?> e)
      Does this handler manager handle the given event type?
      Parameters:
      e - the event type
      Returns:
      whether the given event type is handled
    • removeHandler

      public <H extends EventHandler> void removeHandler(GwtEvent.Type<H> type, H handler)
      Removes the given handler from the specified event type.
      Type Parameters:
      H - handler type
      Parameters:
      type - the event type
      handler - the handler