com.atlassian.jira.bc.issue.watcher
Interface WatcherService

All Known Implementing Classes:
DefaultWatcherService

@PublicApi
public interface WatcherService

Watcher-related business logic interface.

Since:
v4.2

Nested Class Summary
static class WatcherService.BulkWatchResult
          Used to return the result of a Bulk Watch or Bulk Unwatch operation.
 
Method Summary
 ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> addWatcher(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User watcher)
          Adds a watcher to an issue's list of watchers, returning the updated list of watchers.
 WatcherService.BulkWatchResult addWatcherToAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher)
          Adds a watcher to all of the supplied issues.
 boolean canUnwatchAll(Iterable<Issue> issues, com.atlassian.crowd.embedded.api.User remoteUser)
          Whether the specified user can unwatch all the specified issues.
 boolean canWatchAll(Iterable<Issue> issues, com.atlassian.crowd.embedded.api.User remoteUser)
          Whether the specified user can watch all the specified issues.
 ServiceOutcome<Pair<Integer,List<com.atlassian.crowd.embedded.api.User>>> getWatchers(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
          Returns a the total number of watchers for a given issue in the first element of the returned Pair, and the list of visible watchers in the second element of the Pair.
 boolean hasViewWatcherListPermission(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
          Returns a boolean indicating whether the given user is authorised to view an issue's watcher list.
 boolean isWatchingEnabled()
          Returns a boolean indicating whether watching is enabled in JIRA.
 ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> removeWatcher(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User watcher)
          Removes a watcher from an issue's list of watchers, returning the updated list of watchers.
 WatcherService.BulkWatchResult removeWatcherFromAll(Collection<Issue> issues, ApplicationUser remoteUser, ApplicationUser watcher)
          Removes a watcher from all of the supplied issues.
 

Method Detail

isWatchingEnabled

boolean isWatchingEnabled()
Returns a boolean indicating whether watching is enabled in JIRA.

Returns:
a boolean indicating whether watching is enabled

hasViewWatcherListPermission

boolean hasViewWatcherListPermission(Issue issue,
                                     com.atlassian.crowd.embedded.api.User remoteUser)
Returns a boolean indicating whether the given user is authorised to view an issue's watcher list.

Parameters:
issue - an Issue
remoteUser - a User
Returns:
a boolean indicating whether the user is authorised to view the watcher list

getWatchers

ServiceOutcome<Pair<Integer,List<com.atlassian.crowd.embedded.api.User>>> getWatchers(Issue issue,
                                                                                      com.atlassian.crowd.embedded.api.User remoteUser)
                                                                                      throws WatchingDisabledException
Returns a the total number of watchers for a given issue in the first element of the returned Pair, and the list of visible watchers in the second element of the Pair. Note that if the remote user does not have permission to view the list of watchers, it is possible for the number of elements in the returned user list to be less than the returned number of watchers.

Parameters:
issue - the Issue to find watchers for
remoteUser - the calling User
Returns:
a ServiceOutcome containing the total number of watchers, and a list of visible watchers
Throws:
WatchingDisabledException - if watching is currently disabled

addWatcher

ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> addWatcher(Issue issue,
                                                                       com.atlassian.crowd.embedded.api.User remoteUser,
                                                                       com.atlassian.crowd.embedded.api.User watcher)
                                                                       throws WatchingDisabledException
Adds a watcher to an issue's list of watchers, returning the updated list of watchers.

Parameters:
issue - the issue to update
remoteUser - the remote user on behalf of which
watcher - the watcher to add
Returns:
a ServiceOutcome containing a list of User
Throws:
WatchingDisabledException - if watching is currently disabled

addWatcherToAll

WatcherService.BulkWatchResult addWatcherToAll(Collection<Issue> issues,
                                               ApplicationUser remoteUser,
                                               ApplicationUser watcher)
                                               throws WatchingDisabledException
Adds a watcher to all of the supplied issues.

If there is partial success, the issues which we can modify will be modified and the ones we cannot will be returned in a BulkWatchResult.

Parameters:
issues - the list of issues to update
remoteUser - the remote user on behalf of which
watcher - the watcher to add
Returns:
a BulkWatchResult containing the issues that could not be modified
Throws:
WatchingDisabledException - if watching is currently disabled

removeWatcher

ServiceOutcome<List<com.atlassian.crowd.embedded.api.User>> removeWatcher(Issue issue,
                                                                          com.atlassian.crowd.embedded.api.User remoteUser,
                                                                          com.atlassian.crowd.embedded.api.User watcher)
                                                                          throws WatchingDisabledException
Removes a watcher from an issue's list of watchers, returning the updated list of watchers.

Parameters:
issue - the Issue to update
remoteUser - a User indicating the user on behalf of whom this operation is being performed
watcher - a User representing the User to remove from the watcher list
Returns:
a ServiceOutcome containing a list of User
Throws:
WatchingDisabledException - if watching is currently disabled

removeWatcherFromAll

WatcherService.BulkWatchResult removeWatcherFromAll(Collection<Issue> issues,
                                                    ApplicationUser remoteUser,
                                                    ApplicationUser watcher)
                                                    throws WatchingDisabledException
Removes a watcher from all of the supplied issues.

If there is partial success, the issues which we can modify will be modified and the ones we cannot will be returned in a BulkWatchResult.

Parameters:
issues - the list of Issues to update
remoteUser - an ApplicationUser indicating the user on behalf of whom this operation is being performed
watcher - an ApplicationUser representing the user to remove from the watcher list for each issue
Returns:
a BulkWatchResult containing the issues that could not be modified
Throws:
WatchingDisabledException - if watching is currently disabled

canWatchAll

boolean canWatchAll(Iterable<Issue> issues,
                    com.atlassian.crowd.embedded.api.User remoteUser)
Whether the specified user can watch all the specified issues.

Parameters:
issues - The list of issues to check
remoteUser - The user to execute this check for
Returns:
true; if the specified user can watch all the specified issues; otherwise, false is returned.

canUnwatchAll

boolean canUnwatchAll(Iterable<Issue> issues,
                      com.atlassian.crowd.embedded.api.User remoteUser)
Whether the specified user can unwatch all the specified issues.

Parameters:
issues - The list of issues to check
remoteUser - The user to execute this check for
Returns:
true; if the specified user can unwatch all the specified issues; otherwise, false is returned.


Copyright © 2002-2013 Atlassian. All Rights Reserved.