Module org.refcodes.eventbus
Package org.refcodes.eventbus
Interface EventBusObservable<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 typeO
- the generic typeMATCH
- the generic typeH
- 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 EventBusObservable<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 EventBusObservable
notifies upon events of type
MetaDataActionEvent
, you may use the MetaDataActionEventImpl
and an action for distinguishing your various types of notification:
TIPP: In order to distinguish MetaDataActionEventImpl
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
Modifier and TypeMethodDescriptionsubscribe
(Class<EVT> aEventType, MATCH aEventMatcher, org.refcodes.observer.Observer<EVT> aObserver) Subscribes a listener to the event bus.Subscribes a listener to the event bus.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 Details
-
subscribe
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
- TheEventMatcher
to guard theObserver
.aObserver
- TheObserver
to subscribe.- Returns:
- A handle to unsubscribe this combination.
-
subscribe
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
- TheObserver
to subscribe.- Returns:
- A handle to unsubscribe this combination.
-
subscribe
<EVT extends E> H subscribe(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
- TheEventMatcher
to guard theObserver
.aObserver
- TheObserver
to subscribe.- Returns:
- A handle to unsubscribe this combination.
-
unsubscribeAll
Unsubscribes all registrations to a specific listener, even if that listener is involved in several subscriptions.- Parameters:
aObserver
- the observer
-