Class LookupEventBus<E,S,C>

java.lang.Object
org.apache.pekko.event.japi.LookupEventBus<E,S,C>
All Implemented Interfaces:
EventBus<E,S,C>

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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract C
    classify(E event)
    Returns the Classifier associated with the given Event
    protected abstract int
    Provides a total ordering of Subscribers (think java.util.Comparator.compare)
    protected abstract int
    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 Details

    • LookupEventBus

      public LookupEventBus()
  • Method Details

    • 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>