OSID Logo
OSID Specifications
voting package
Version 3.1.0
Interfaceosid.voting.CandidatePollsAssignmentSession
Implementsosid.OsidSession
Used Byosid.voting.VotingManager
osid.voting.VotingProxyManager
Description

This session provides methods to re-assign Candidates to Polls. A Candidate may map to multiple Polls objects and removing the last reference to a Candidate is the equivalent of deleting it. Each Polls may have its own authorizations governing who is allowed to operate on it.

Moving or adding a reference of a Candidate to another Polls is not a copy operation (eg: does not change its Id).

MethodcanAssignCandidates
Description

Tests if this user can alter candidate/polls mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignCandidatesToPolls
Description

Tests if this user can alter candidate/polls mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdpollsId the Id of the Polls
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT pollsId is null
Compliancemandatory This method must be implemented.
MethodgetAssignablePollsIds
Description

Gets a list of polls including and under the given polls node in which any candidate can be assigned.

Parametersosid.id.IdpollsId the Id of the Polls
Returnosid.id.IdList list of assignable polls Ids
ErrorsNULL_ARGUMENT pollsId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignablePollsIdsForCandidate
Description

Gets a list of polls including and under the given polls node in which a specific candidate can be assigned.

Parametersosid.id.IdpollsId the Id of the Polls
osid.id.IdcandidateId the Id of the Candidate
Returnosid.id.IdList list of assignable polls Ids
ErrorsNULL_ARGUMENT pollsId or candidateId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignCandidateToPolls
Description

Adds an existing Candidate to a Polls.

Parametersosid.id.IdcandidateId the Id of the Candidate
osid.id.IdpollsId the Id of the Polls
ErrorsALREADY_EXISTS candidateId is already assigned to pollsId
NOT_FOUND candidateId or pollsId not found
NULL_ARGUMENT candidateId or pollsId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignCandidateFromPolls
Description

Removes a Candidate from a Polls.

Parametersosid.id.IdcandidateId the Id of the Candidate
osid.id.IdpollsId the Id of the Polls
ErrorsNOT_FOUND candidateId or pollsId not found or candidateId not assigned to pollsId
NULL_ARGUMENT candidateId or pollsId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignCandidateToPolls
Description

Moves a Candidate from one Polls to another. Mappings to other Polls are unaffected.

Parametersosid.id.IdcandidateId the Id of the Candidate
osid.id.IdfromPollsId the Id of the current Polls
osid.id.IdtoPollsId the Id of the destination Polls
ErrorsALREADY_EXISTS candidateId already assigned to toPollsId
NOT_FOUND candidateId, fromPollsId, or toPollsId not found or candidateId not mapped to fromPollsId
NULL_ARGUMENT candidateId, fromPollsId, or toPollsId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.