com.atlassian.jira.bc.issue.vote
Interface VoteService

All Known Implementing Classes:
DefaultVoteService

@PublicApi
public interface VoteService

Vote Service used to add and remove votes from a particular issue. This service's methods will make sure that when voting, all of JIRA's business rules are enforced. This means that permissions and data validation will be checked.

Since:
v4.1

Nested Class Summary
static class VoteService.VoteValidationResult
          A simple validation result that holds the user trying to vote, and the issue being voted on.
 
Method Summary
 int addVote(com.atlassian.crowd.embedded.api.User remoteUser, VoteService.VoteValidationResult validationResult)
          Adds a new vote using the specified validation result
 ServiceOutcome<List<VoteHistoryEntry>> getVoterHistory(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
          Get the list of vote history for an issue.
 boolean hasVoted(Issue issue, com.atlassian.crowd.embedded.api.User user)
          Find if the specified user has voted on an issue
 boolean isVotingEnabled()
          Retrieves the 'jira.option.voting' property
 int removeVote(com.atlassian.crowd.embedded.api.User remoteUser, VoteService.VoteValidationResult validationResult)
          Removes a new vote using the specified validation result
 VoteService.VoteValidationResult validateAddVote(com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User user, Issue issue)
          Validates if the user currently logged in may add a vote by the user supplied for the issue provided.
 VoteService.VoteValidationResult validateRemoveVote(com.atlassian.crowd.embedded.api.User remoteUser, com.atlassian.crowd.embedded.api.User user, Issue issue)
          Validates if the user currently logged in may remove a vote for the user supplied for the issue provided.
 ServiceOutcome<Collection<com.atlassian.crowd.embedded.api.User>> viewVoters(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
          Get the list of all users who have voted on an issue.
 

Method Detail

validateAddVote

VoteService.VoteValidationResult validateAddVote(com.atlassian.crowd.embedded.api.User remoteUser,
                                                 com.atlassian.crowd.embedded.api.User user,
                                                 Issue issue)
Validates if the user currently logged in may add a vote by the user supplied for the issue provided. The remoteUser and user arguments may be the same if the current user is voting him/herself. The VoteService.VoteValidationResult produced by this method should be used in conjunction with the addVote(User, VoteValidationResult) method. The following conditions will fail validation:

Parameters:
remoteUser - The currently logged in user
user - The user for whom a vote is being added
issue - The issue being voted on
Returns:
A validation result containing all errors, as well as the user and issue being voted on

addVote

int addVote(com.atlassian.crowd.embedded.api.User remoteUser,
            VoteService.VoteValidationResult validationResult)
Adds a new vote using the specified validation result

Parameters:
remoteUser - The currently logged in user
validationResult - Validation result for adding a new vote
Returns:
The updated number of votes for the issue being voted for

validateRemoveVote

VoteService.VoteValidationResult validateRemoveVote(com.atlassian.crowd.embedded.api.User remoteUser,
                                                    com.atlassian.crowd.embedded.api.User user,
                                                    Issue issue)
Validates if the user currently logged in may remove a vote for the user supplied for the issue provided. The remoteUser and user arguments may be the same if the current user is voting him/herself. The VoteService.VoteValidationResult produced by this method should be used in conjunction with the removeVote(User, VoteValidationResult) method. The following conditions will fail validation:

Parameters:
remoteUser - The currently logged in user
user - The user for whom a vote is being removed
issue - The issue being voted on
Returns:
A validation result containing all errors, as well as the user and issue being voted on

removeVote

int removeVote(com.atlassian.crowd.embedded.api.User remoteUser,
               VoteService.VoteValidationResult validationResult)
Removes a new vote using the specified validation result

Parameters:
remoteUser - The currently logged in user
validationResult - Validation result for removing a new vote
Returns:
The updated number of votes for the issue being voted for

viewVoters

ServiceOutcome<Collection<com.atlassian.crowd.embedded.api.User>> viewVoters(Issue issue,
                                                                             com.atlassian.crowd.embedded.api.User remoteUser)
Get the list of all users who have voted on an issue.

Parameters:
issue - the issue to view
remoteUser - the user who wants to know
Returns:
a service outcome. if valid you can obtain the users that have voted on the.

getVoterHistory

ServiceOutcome<List<VoteHistoryEntry>> getVoterHistory(Issue issue,
                                                       com.atlassian.crowd.embedded.api.User remoteUser)
Get the list of vote history for an issue. The history will be in time sequence.

Parameters:
issue - the issue to view
remoteUser - the user who wants to know
Returns:
a service outcome. if valid you can obtain the users that have voted on the.

isVotingEnabled

boolean isVotingEnabled()
Retrieves the 'jira.option.voting' property

Returns:
True if voting is enabled

hasVoted

boolean hasVoted(Issue issue,
                 com.atlassian.crowd.embedded.api.User user)
Find if the specified user has voted on an issue

Parameters:
issue - the issue to check
user - the user to check
Returns:
true if the user has voted on the issue


Copyright © 2002-2014 Atlassian. All Rights Reserved.