Class LookupEventBus<E,​S,​C>

  • All Implemented Interfaces:
    EventBus<E,​S,​C>

    public abstract class LookupEventBus<E,​S,​C>
    extends java.lang.Object
    implements EventBus<E,​S,​C>
    Java API: See documentation for LookupClassification E is the Event type S is the Subscriber type C is the Classifier type
    • Constructor Summary

      Constructors 
      Constructor Description
      LookupEventBus()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract C classify​(E event)
      Returns the Classifier associated with the given Event
      protected abstract int compareSubscribers​(S a, S b)
      Provides a total ordering of Subscribers (think java.util.Comparator.compare)
      protected abstract int mapSize()
      This is a size hint for the number of Classifiers you expect to have (use powers of 2)
      void publish​(E event)
      Publishes the specified Event to this bus
      protected abstract void publish​(E event, S subscriber)
      Publishes the given Event to the given Subscriber
      boolean subscribe​(S subscriber, C to)
      Attempts to register the subscriber to the specified Classifier
      void unsubscribe​(S subscriber)
      Attempts to deregister the subscriber from all Classifiers it may be subscribed to
      boolean unsubscribe​(S subscriber, C from)
      Attempts to deregister the subscriber from the specified Classifier
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LookupEventBus

        public LookupEventBus()
    • Method Detail

      • classify

        protected abstract C classify​(E event)
        Returns the Classifier associated with the given Event
      • compareSubscribers

        protected abstract int compareSubscribers​(S a,
                                                  S b)
        Provides a total ordering of Subscribers (think java.util.Comparator.compare)
      • mapSize

        protected abstract int mapSize()
        This is a size hint for the number of Classifiers you expect to have (use powers of 2)
      • publish

        protected abstract void publish​(E event,
                                        S subscriber)
        Publishes the given Event to the given Subscriber
      • publish

        public void publish​(E event)
        Description copied from interface: EventBus
        Publishes the specified Event to this bus
        Specified by:
        publish in interface EventBus<E,​S,​C>
      • subscribe

        public boolean subscribe​(S subscriber,
                                 C to)
        Description copied from interface: EventBus
        Attempts to register the subscriber to the specified Classifier
        Specified by:
        subscribe in interface EventBus<E,​S,​C>
        Returns:
        true if successful and false if not (because it was already subscribed to that Classifier, or otherwise)
      • unsubscribe

        public boolean unsubscribe​(S subscriber,
                                   C from)
        Description copied from interface: EventBus
        Attempts to deregister the subscriber from the specified Classifier
        Specified by:
        unsubscribe in interface EventBus<E,​S,​C>
        Returns:
        true if successful and false if not (because it wasn't subscribed to that Classifier, or otherwise)
      • unsubscribe

        public void unsubscribe​(S subscriber)
        Description copied from interface: EventBus
        Attempts to deregister the subscriber from all Classifiers it may be subscribed to
        Specified by:
        unsubscribe in interface EventBus<E,​S,​C>