|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.bamboo.notification.AbstractNotificationEventListener<T>
T
- Event to which this listener would listen to.public abstract class AbstractNotificationEventListener<T extends com.atlassian.event.Event>
Base class for notification listeners
Field Summary | |
---|---|
protected java.lang.Class<T> |
eventClass
|
protected NotificationDispatcher |
notificationDispatcher
|
protected NotificationManager |
notificationManager
|
protected java.util.Set<java.lang.Class<? extends NotificationType>> |
notificationTypeFilter
|
protected PlanManager |
planManager
|
protected SystemNotificationService |
systemNotificationService
|
Constructor Summary | |
---|---|
protected |
AbstractNotificationEventListener(java.lang.Class<T> eventClass,
java.util.Set<java.lang.Class<? extends NotificationType>> notificationTypeFilter)
|
Method Summary | ||
---|---|---|
protected
|
createNotificationComponent(java.lang.Class<N> notificationClass)
Creates Notification object using Spring |
|
protected java.lang.Iterable<NotificationRule> |
filterNotificationRules(java.lang.Iterable<NotificationRule> iterable,
T event)
Filter passed Iterable |
|
java.lang.Class<? extends com.atlassian.event.Event>[] |
getHandledEventClasses()
|
|
protected java.lang.Iterable<NotificationRule> |
getNotificationRules(Plan plan,
T event)
Return notification rules effective for a given plan and event. |
|
protected Plan |
getPlan(T event)
Try to retrieve plan using data in the event. |
|
protected java.lang.Iterable<NotificationRule> |
getSystemNotificationRules(T event)
Return system notification rules effective for a given event. |
|
void |
handleEvent(com.atlassian.event.Event event)
Implementation of HibernateEventListener#handleEvent |
|
abstract void |
handleEvent(T event,
Plan plan)
Notification event listeners must implement this method to handle incoming events. |
|
void |
setNotificationDispatcher(NotificationDispatcher notificationDispatcher)
|
|
void |
setNotificationManager(NotificationManager notificationManager)
|
|
void |
setPlanManager(PlanManager planManager)
|
|
void |
setSystemNotificationService(SystemNotificationService systemNotificationService)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected NotificationDispatcher notificationDispatcher
protected NotificationManager notificationManager
protected PlanManager planManager
protected SystemNotificationService systemNotificationService
protected final java.lang.Class<T extends com.atlassian.event.Event> eventClass
protected final java.util.Set<java.lang.Class<? extends NotificationType>> notificationTypeFilter
Constructor Detail |
---|
protected AbstractNotificationEventListener(java.lang.Class<T> eventClass, java.util.Set<java.lang.Class<? extends NotificationType>> notificationTypeFilter)
eventClass
- Class of event this listener would listen tonotificationTypeFilter
- Set of notification types this listener is interested inMethod Detail |
---|
public java.lang.Class<? extends com.atlassian.event.Event>[] getHandledEventClasses()
getHandledEventClasses
in interface HibernateEventListener
getHandledEventClasses
in interface com.atlassian.event.EventListener
protected java.lang.Iterable<NotificationRule> getNotificationRules(@NotNull Plan plan, @NotNull T event)
plan
- Plan which notification rules list will be filteredevent
- Event which is being handled. It is passed to NotificationType#isNotificationRequired method to filter out notification rules
protected java.lang.Iterable<NotificationRule> getSystemNotificationRules(@NotNull T event)
event
- Event which is being handled. It is passed to NotificationType#isNotificationRequired method to filter out notification rules
protected java.lang.Iterable<NotificationRule> filterNotificationRules(@NotNull java.lang.Iterable<NotificationRule> iterable, @NotNull T event)
iterable
- Input iterableevent
- Event which is being handled. It is passed to NotificationType#isNotificationRequired method to filter out notification rules
public abstract void handleEvent(@NotNull T event, @NotNull Plan plan)
event
- event to be handled (narrowed to effective class of event being handled)plan
- plan which is related to event being handledpublic void handleEvent(com.atlassian.event.Event event)
handleEvent
in interface HibernateEventListener
handleEvent
in interface com.atlassian.event.EventListener
event
- Event to be handledprotected <N extends Notification> N createNotificationComponent(java.lang.Class<N> notificationClass)
N
- notificationClass
- Requested notification class
@Nullable protected Plan getPlan(@NotNull T event)
event
- Event being handled
public void setNotificationDispatcher(NotificationDispatcher notificationDispatcher)
public void setNotificationManager(NotificationManager notificationManager)
public void setPlanManager(PlanManager planManager)
public void setSystemNotificationService(SystemNotificationService systemNotificationService)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |