Interface MessageBus

  • All Known Implementing Classes:
    SimpleMessageBus

    public interface MessageBus
    A simple message bus for a local publish/subscribe facility.
    Author:
    Fabrizio Giudici
    • Method Detail

      • publish

        <T> void publish​(@Nonnull
                         T message)
        Publishes the given event. The topic is the class of the event.
        Type Parameters:
        T - the static type of the topic
        Parameters:
        message - the event
      • publish

        <T> void publish​(@Nonnull
                         java.lang.Class<T> topic,
                         @Nonnull
                         T message)
        Publishes the given message and topic. Passing an explicit topic can be useful when dealing with a hierarchy of events (so, perhaps a subclass is passed but the topic is the root of the hierarchy).
        Type Parameters:
        T - the static type of the topic
        Parameters:
        topic - the topic
        message - the message
      • subscribe

        <T> void subscribe​(@Nonnull
                           java.lang.Class<T> topic,
                           @Nonnull
                           MessageBus.Listener<T> listener)
        Subscribes a MessageBus.Listener to a topic.
        Type Parameters:
        T - the static type of the topic
        Parameters:
        topic - the topic
        listener - the listener