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

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

        <TOPIC> void publish​(@Nonnull
                             java.lang.Class<TOPIC> topic,
                             @Nonnull
                             TOPIC 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:
        TOPIC - the static type of the topic
        Parameters:
        topic - the topic
        message - the message
      • subscribe

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