public final class EventPublisherImpl extends Object implements EventPublisher
EventPublisher interface.
One can customise the event listening by instantiating with custom listener handlers and
the event dispatching through EventDispatcher.
See the com.atlassian.event.spi package for more information.
ListenerHandler,
EventDispatcher| Constructor and Description |
|---|
EventPublisherImpl(EventDispatcher eventDispatcher,
ListenerHandlersConfiguration listenerHandlersConfiguration)
If you need to customise the asynchronous handling, you should use the
AsynchronousAbleEventDispatcher
together with a custom executor. |
EventPublisherImpl(EventDispatcher eventDispatcher,
ListenerHandlersConfiguration listenerHandlersConfiguration,
com.atlassian.plugin.scope.ScopeManager scopeManager)
Inherits
EventPublisherImpl(EventDispatcher, ListenerHandlersConfiguration) and
allows injection of scope manager |
| Modifier and Type | Method and Description |
|---|---|
void |
publish(Object event)
The order in which registered listeners are invoked is predictable.
|
void |
register(Object listener)
Register a listener to receive events.
|
void |
unregister(Object listener)
Un-register a listener so that it will no longer receive events.
|
void |
unregisterAll()
Un-register all listeners that this registrar knows about.
|
public EventPublisherImpl(EventDispatcher eventDispatcher, ListenerHandlersConfiguration listenerHandlersConfiguration)
AsynchronousAbleEventDispatcher
together with a custom executor. You might also want to have a look at using the EventThreadFactory to
keep the naming of event threads consistent with the default naming of the Atlassian Event library.eventDispatcher - the event dispatcher to be used with the publisherlistenerHandlersConfiguration - the list of listener handlers to be used with this publisherAsynchronousAbleEventDispatcher,
EventThreadFactorypublic EventPublisherImpl(EventDispatcher eventDispatcher, ListenerHandlersConfiguration listenerHandlersConfiguration, com.atlassian.plugin.scope.ScopeManager scopeManager)
EventPublisherImpl(EventDispatcher, ListenerHandlersConfiguration) and
allows injection of scope managereventDispatcher - the event dispatcher to be used with the publisherlistenerHandlersConfiguration - the list of listener handlers to be used with this publisherscopeManager - the scope managerAsynchronousAbleEventDispatcher,
EventThreadFactory,
ScopeManagerpublic void publish(@Nonnull Object event)
After walking the class hierarchy the interface listeners are invoked, again from the most specific interface first. Note that the ordering within a specific event type is not guaranteed. If there are multiple registered listeners for IssueEvent, then they will be invoked in the order of registration. It is however guaranteed that a listener for IssueEvent will be invoked before a listener for Event
publish in interface EventPublisherevent - the event to publishpublic void register(@Nonnull Object listener)
EventListenerRegistrarEventListener annotation. Legacy
implementations may also support listeners which implement the now-deprecated
EventListener interface.register in interface EventListenerRegistrarlistener - The listener that is being registeredannotation which can be used to indicate event listener methodspublic void unregister(@Nonnull Object listener)
EventListenerRegistrarunregister in interface EventListenerRegistrarlistener - The listener to un-registerpublic void unregisterAll()
EventListenerRegistrarunregisterAll in interface EventListenerRegistrarCopyright © 2006–2018 Atlassian. All rights reserved.