Interface NotificationManager

    • Method Detail

      • getNotificationsByUser

        List<Notification> getNotificationsByUser​(com.atlassian.user.User user)
      • getNotificationByUserAndSpaceAndType

        Notification getNotificationByUserAndSpaceAndType​(com.atlassian.user.User user,
                                                          Space space,
                                                          ContentTypeEnum type)
      • addSpaceNotification

        @Transactional
        @Nullable Notification addSpaceNotification​(com.atlassian.user.User user,
                                                    Space space)
      • removeSpaceNotification

        @Transactional
        void removeSpaceNotification​(com.atlassian.user.User user,
                                     Space space)
        Since:
        5.9.1
      • removeContentNotification

        @Transactional
        void removeContentNotification​(com.atlassian.user.User user,
                                       ContentEntityObject content)
      • isWatchingContent

        boolean isWatchingContent​(@Nullable com.atlassian.user.User user,
                                  @Nullable ContentEntityObject content)
        Returns true if the given user is directly watching the given content.

        Returns false if either the user or the content is null.

        Parameters:
        user - user to check
        content - content to check
        Returns:
        true if the given user is directly watching the given content
        Since:
        5.3
      • addLabelNotification

        @Transactional
        boolean addLabelNotification​(com.atlassian.user.User user,
                                     Label label)
      • removeLabelNotification

        @Transactional
        void removeLabelNotification​(com.atlassian.user.User user,
                                     Label label)
      • isWatchingLabel

        boolean isWatchingLabel​(com.atlassian.user.User user,
                                Label label)
      • addSpaceNotification

        @Transactional
        @Nullable Notification addSpaceNotification​(com.atlassian.user.User user,
                                                    Space space,
                                                    ContentTypeEnum type)
        Add a space notification for a particular content type. For example, watch only blogs in a space.
      • removeDailyReportNotification

        @Transactional
        void removeDailyReportNotification​(com.atlassian.user.User user)
      • removeNotification

        @Transactional
        void removeNotification​(Notification notification)
      • isUserWatchingPageOrSpace

        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

        This method can be used to check if a user is watching a page directly or indirectly.

      • removeAllNotificationsForUser

        @Transactional
        void removeAllNotificationsForUser​(com.atlassian.user.User user)
        Remove all of the notifications setup for this user. This includes space, page and daily report notifications.
      • removeAllNotificationsForSpace

        @Transactional
        void removeAllNotificationsForSpace​(Space space)
        Remove all of the notifications set up for this space.
      • getDailyReportNotificationForUser

        Notification getDailyReportNotificationForUser​(com.atlassian.user.User user)
      • getSiteBlogNotificationForUser

        Notification getSiteBlogNotificationForUser​(com.atlassian.user.User user)
      • getNetworkNotificationForUser

        Notification getNetworkNotificationForUser​(com.atlassian.user.User user)
      • getNotificationById

        Notification getNotificationById​(long id)
      • setSiteBlogNotificationForUser

        @Transactional
        void setSiteBlogNotificationForUser​(ConfluenceUser user,
                                            boolean globalBlogWatchForUser)
        Since:
        7.0.0
      • setNetworkNotificationForUser

        @Transactional
        void setNetworkNotificationForUser​(ConfluenceUser user,
                                           boolean watchingNetwork)
        Since:
        7.0.0
      • findNotificationsByFollowing

        List<Notification> findNotificationsByFollowing​(com.atlassian.user.User modifier)
        Retrieves the list of Network Notifications for Users who are following the given User. That is, all Notifications that return true from Notification.isNetwork() and belong to somebody who is following modifier via a Connection.
        Parameters:
        modifier - usually a user who has modified a piece of content.
        Returns:
        notifications for anybody subscribed to network notifications who follows modifier.
        See Also:
        Connection
      • findPageAndSpaceNotificationIdsFromSpace

        Iterable<Long> findPageAndSpaceNotificationIdsFromSpace​(Space space)
        Retrieves ids of all notifications in a space. This is useful for large-scale operations such as space exports. The result includes all notifications for the space, including notifications for pages in the space.
        Parameters:
        space - a space to find the notifications for
        Returns:
        ids of all the notifications in the space.
        Since:
        4.2