Interface GenericBusObservable<E extends org.refcodes.observer.GenericEvent<?>,O extends org.refcodes.observer.Observer<E>,MATCH extends org.refcodes.observer.EventMatcher<E>,H>

  • Type Parameters:
    E - the element type
    O - the generic type
    MATCH - the generic type
    H - the generic type
    All Superinterfaces:
    org.refcodes.component.HandleLookup<H,O>
    All Known Subinterfaces:
    EventBus, GenericEventBus<E,O,MATCH,META,H>
    All Known Implementing Classes:
    AbstractEventBus, EventBusImpl

    public interface GenericBusObservable<E extends org.refcodes.observer.GenericEvent<?>,O extends org.refcodes.observer.Observer<E>,MATCH extends org.refcodes.observer.EventMatcher<E>,H>
    extends org.refcodes.component.HandleLookup<H,O>
    The Observable part of the GenericEventBus provides means to register Observer instances.

    In case your GenericBusObservable notifies upon events of type ActionMetaDataEvent, you may use the ActionMetaDataEventImpl and an action for distinguishing your various types of notification:

    TIPP: In order to distinguish ActionMetaDataEventImpl instances from each other, create an actions enumeration, enumerating the various event actions you support. Pass the actual action you intend to notify upon to the according constructor, as an Observer you may use the declarative method EventMatcherSugar.actionEqualWith(Object) to test whether your action was notified (or a simple switch case statement).

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <EVT extends E>
      H
      subscribe​(java.lang.Class<EVT> aEventType, MATCH aEventMatcher, org.refcodes.observer.Observer<EVT> aObserver)
      Subscribes a listener to the event bus.
      <EVT extends E>
      H
      subscribe​(java.lang.Class<EVT> aEventType, org.refcodes.observer.Observer<EVT> aObserver)
      Subscribes a listener to the event bus.
      H subscribe​(MATCH aEventMatcher, O aObserver)
      Subscribes a listener to the event bus.
      void unsubscribeAll​(O aObserver)
      Unsubscribes all registrations to a specific listener, even if that listener is involved in several subscriptions.
      • Methods inherited from interface org.refcodes.component.HandleLookup

        hasHandle, lookupHandle, removeHandle
    • Method Detail

      • subscribe

        H subscribe​(MATCH aEventMatcher,
                    O aObserver)
        Subscribes a listener to the event bus. In case the handle is being ignored, use the "unsubscribeAll" method where all subscriptions for a listener are removed.
        Parameters:
        aEventMatcher - The EventMatcher to guard the Observer.
        aObserver - The Observer to subscribe.
        Returns:
        A handle to unsubscribe this combination.
      • subscribe

        <EVT extends EH subscribe​(java.lang.Class<EVT> aEventType,
                                    org.refcodes.observer.Observer<EVT> aObserver)
        Subscribes a listener to the event bus. In case the handle is being ignored, use the "unsubscribeAll" method where all subscriptions for a listener are removed.
        Type Parameters:
        EVT - The type of the event to subscribe for.
        Parameters:
        aEventType - The type of event to observe.
        aObserver - The Observer to subscribe.
        Returns:
        A handle to unsubscribe this combination.
      • subscribe

        <EVT extends EH subscribe​(java.lang.Class<EVT> aEventType,
                                    MATCH aEventMatcher,
                                    org.refcodes.observer.Observer<EVT> aObserver)
        Subscribes a listener to the event bus. In case the handle is being ignored, use the "unsubscribeAll" method where all subscriptions for a listener are removed.
        Type Parameters:
        EVT - The type of the event to subscribe for.
        Parameters:
        aEventType - The type of event to observe.
        aEventMatcher - The EventMatcher to guard the Observer.
        aObserver - The Observer to subscribe.
        Returns:
        A handle to unsubscribe this combination.
      • unsubscribeAll

        void unsubscribeAll​(O aObserver)
        Unsubscribes all registrations to a specific listener, even if that listener is involved in several subscriptions.
        Parameters:
        aObserver - the observer