Class EventBus

    • 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