public class DefaultNotificationManager extends Object implements NotificationManager
Constructor and Description |
---|
DefaultNotificationManager(NotificationDao notificationDao,
com.atlassian.event.api.EventPublisher eventPublisher) |
Modifier and Type | Method and Description |
---|---|
@Nullable Notification |
addContentNotification(com.atlassian.user.User user,
ContentEntityObject content) |
Notification |
addDailyReportNotfication(com.atlassian.user.User user) |
Notification |
addDailyReportNotification(ConfluenceUser user) |
boolean |
addLabelNotification(com.atlassian.user.User user,
Label label) |
@Nullable Notification |
addSpaceNotification(com.atlassian.user.User user,
Space space) |
@Nullable Notification |
addSpaceNotification(com.atlassian.user.User user,
Space space,
ContentTypeEnum type)
Add a space notification for a particular content type.
|
List<Notification> |
findNotificationsByFollowing(com.atlassian.user.User modifier)
|
Iterable<Long> |
findPageAndSpaceNotificationIdsFromSpace(Space space)
Retrieves ids of all notifications in a space.
|
Notification |
getDailyReportNotificationForUser(com.atlassian.user.User user) |
List<Notification> |
getDailyReportNotifications() |
Notification |
getNetworkNotificationForUser(com.atlassian.user.User user) |
Notification |
getNotificationByUserAndContent(com.atlassian.user.User user,
ContentEntityObject content) |
Notification |
getNotificationByUserAndSpace(com.atlassian.user.User user,
Space space)
Return a notification if the user is watching the entire space.
|
Notification |
getNotificationByUserAndSpace(com.atlassian.user.User user,
String spaceKey)
Return a notification if the user is watching the entire space with the given spaceKey.
|
Notification |
getNotificationByUserAndSpaceAndType(com.atlassian.user.User user,
Space space,
ContentTypeEnum type) |
List<Notification> |
getNotificationsByContent(ContentEntityObject content) |
List<Notification> |
getNotificationsByLabel(Label label) |
List<Notification> |
getNotificationsBySpaceAndType(Space space,
ContentTypeEnum type) |
List<Notification> |
getNotificationsByUser(com.atlassian.user.User user) |
Notification |
getSiteBlogNotificationForUser(com.atlassian.user.User user) |
List<Notification> |
getSiteBlogNotifications() |
boolean |
isUserWatchingPageOrSpace(com.atlassian.user.User user,
Space space,
AbstractPage page)
Returns true if:
a) the user is watching the AbstractPage
b) the user is watching the space, or
c) the user is watching the contentType of the AbstractPage for the Space
|
boolean |
isWatchingContent(@Nullable com.atlassian.user.User user,
@Nullable ContentEntityObject content)
Returns true if the given user is directly watching the given content.
|
boolean |
isWatchingLabel(com.atlassian.user.User user,
Label label) |
void |
removeAllNotificationsForSpace(Space space)
Remove all of the notifications set up for this space.
|
void |
removeAllNotificationsForUser(com.atlassian.user.User user)
Remove all of the notifications setup for this user.
|
void |
removeContentNotification(com.atlassian.user.User user,
ContentEntityObject content) |
void |
removeDailyReportNotification(com.atlassian.user.User user) |
void |
removeLabelNotification(com.atlassian.user.User user,
Label label) |
void |
removeNotification(Notification notification) |
void |
removeSpaceNotification(com.atlassian.user.User user,
Space space) |
void |
setNetworkNotificationForUser(ConfluenceUser user,
boolean watchingNetwork) |
void |
setNetworkNotificationForUser(com.atlassian.user.User user,
boolean watchingNetwork) |
void |
setSiteBlogNotificationForUser(ConfluenceUser user,
boolean globalBlogWatchForUser) |
void |
setSiteBlogNotificationForUser(com.atlassian.user.User user,
boolean globalBlogWatchForUser) |
public DefaultNotificationManager(NotificationDao notificationDao, com.atlassian.event.api.EventPublisher eventPublisher)
public List<Notification> getNotificationsByUser(com.atlassian.user.User user)
getNotificationsByUser
in interface NotificationManager
public Notification getNotificationByUserAndSpace(com.atlassian.user.User user, String spaceKey)
NotificationManager
Note that notifications with specified ContentTypeEnum values
will not be returned. Use NotificationManager.getNotificationByUserAndSpaceAndType(com.atlassian.user.User, com.atlassian.confluence.spaces.Space, com.atlassian.confluence.search.service.ContentTypeEnum)
instead.
getNotificationByUserAndSpace
in interface NotificationManager
public Notification getNotificationByUserAndSpace(com.atlassian.user.User user, Space space)
NotificationManager
Note that notifications with specified ContentTypeEnum values
will not be returned. Use NotificationManager.getNotificationByUserAndSpaceAndType(com.atlassian.user.User, com.atlassian.confluence.spaces.Space, com.atlassian.confluence.search.service.ContentTypeEnum)
instead.
getNotificationByUserAndSpace
in interface NotificationManager
public Notification getNotificationByUserAndSpaceAndType(com.atlassian.user.User user, Space space, ContentTypeEnum type)
getNotificationByUserAndSpaceAndType
in interface NotificationManager
public @Nullable Notification addSpaceNotification(com.atlassian.user.User user, Space space)
addSpaceNotification
in interface NotificationManager
public void removeSpaceNotification(com.atlassian.user.User user, Space space)
removeSpaceNotification
in interface NotificationManager
public @Nullable Notification addContentNotification(com.atlassian.user.User user, ContentEntityObject content)
addContentNotification
in interface NotificationManager
public void removeContentNotification(com.atlassian.user.User user, ContentEntityObject content)
removeContentNotification
in interface NotificationManager
public List<Notification> getNotificationsByContent(ContentEntityObject content)
getNotificationsByContent
in interface NotificationManager
public Notification getNotificationByUserAndContent(com.atlassian.user.User user, ContentEntityObject content)
getNotificationByUserAndContent
in interface NotificationManager
public boolean isWatchingContent(@Nullable com.atlassian.user.User user, @Nullable ContentEntityObject content)
NotificationManager
Returns false if either the user or the content is null.
isWatchingContent
in interface NotificationManager
user
- user to checkcontent
- content to checkpublic boolean addLabelNotification(com.atlassian.user.User user, Label label)
addLabelNotification
in interface NotificationManager
public void removeLabelNotification(com.atlassian.user.User user, Label label)
removeLabelNotification
in interface NotificationManager
public boolean isWatchingLabel(com.atlassian.user.User user, Label label)
isWatchingLabel
in interface NotificationManager
public List<Notification> getNotificationsByLabel(Label label)
getNotificationsByLabel
in interface NotificationManager
public @Nullable Notification addSpaceNotification(com.atlassian.user.User user, Space space, ContentTypeEnum type)
NotificationManager
addSpaceNotification
in interface NotificationManager
public void removeNotification(Notification notification)
removeNotification
in interface NotificationManager
public boolean isUserWatchingPageOrSpace(com.atlassian.user.User user, Space space, AbstractPage page)
NotificationManager
This method can be used to check if a user is watching a page directly or indirectly.
isUserWatchingPageOrSpace
in interface NotificationManager
public List<Notification> getNotificationsBySpaceAndType(Space space, ContentTypeEnum type)
getNotificationsBySpaceAndType
in interface NotificationManager
public void removeAllNotificationsForUser(com.atlassian.user.User user)
NotificationManager
removeAllNotificationsForUser
in interface NotificationManager
public void removeAllNotificationsForSpace(Space space)
NotificationManager
removeAllNotificationsForSpace
in interface NotificationManager
public List<Notification> getDailyReportNotifications()
getDailyReportNotifications
in interface NotificationManager
public Notification getDailyReportNotificationForUser(com.atlassian.user.User user)
getDailyReportNotificationForUser
in interface NotificationManager
public List<Notification> getSiteBlogNotifications()
getSiteBlogNotifications
in interface NotificationManager
public List<Notification> findNotificationsByFollowing(com.atlassian.user.User modifier)
NotificationManager
Notification
s for User
s who are
following the given User
. That is, all Notification
s that
return true
from Notification.isNetwork()
and belong to somebody
who is following modifier
via a Connection
.findNotificationsByFollowing
in interface NotificationManager
modifier
- usually a user who has modified a piece of content.modifier
.Connection
public Iterable<Long> findPageAndSpaceNotificationIdsFromSpace(Space space)
NotificationManager
findPageAndSpaceNotificationIdsFromSpace
in interface NotificationManager
space
- a space to find the notifications forpublic Notification getSiteBlogNotificationForUser(com.atlassian.user.User user)
getSiteBlogNotificationForUser
in interface NotificationManager
public Notification getNetworkNotificationForUser(com.atlassian.user.User user)
getNetworkNotificationForUser
in interface NotificationManager
public void setSiteBlogNotificationForUser(com.atlassian.user.User user, boolean globalBlogWatchForUser)
setSiteBlogNotificationForUser
in interface NotificationManager
public void setSiteBlogNotificationForUser(ConfluenceUser user, boolean globalBlogWatchForUser)
setSiteBlogNotificationForUser
in interface NotificationManager
public void setNetworkNotificationForUser(com.atlassian.user.User user, boolean watchingNetwork)
setNetworkNotificationForUser
in interface NotificationManager
public void setNetworkNotificationForUser(ConfluenceUser user, boolean watchingNetwork)
setNetworkNotificationForUser
in interface NotificationManager
public Notification addDailyReportNotfication(com.atlassian.user.User user)
addDailyReportNotfication
in interface NotificationManager
public Notification addDailyReportNotification(ConfluenceUser user)
addDailyReportNotification
in interface NotificationManager
public void removeDailyReportNotification(com.atlassian.user.User user)
removeDailyReportNotification
in interface NotificationManager
Copyright © 2003–2021 Atlassian. All rights reserved.