OSID Logo
OSID Specifications
voting rules package
Version 3.0.0
Release Candidate Preview
Interfaceosid.voting.rules.RaceProcessorPollsAssignmentSession
Implementsosid.OsidSession
Description

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

Adding a reference of a RaceProcessor to another Polls is not a copy operation (eg: does not change its Id ).

MethodcanAssignRaceProcessors
Description

Tests if this user can alter race processor/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 lookup operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignRaceProcessorsToPolls
Description

Tests if this user can alter race processor/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 lookup operations to unauthorized users.

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

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

Parametersosid.id.IdpollsIdthe Id of the Polls
Returnosid.id.IdListlist of assignable polls Ids
ErrorsNULL_ARGUMENT pollsId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignablePollsIdsForRaceProcessor
Description

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

Parametersosid.id.IdpollsIdthe Id of the Polls
osid.id.IdraceProcessorIdthe Id of the RaceProcessor
Returnosid.id.IdListlist of assignable polls Ids
ErrorsNULL_ARGUMENT pollsId or raceProcessorId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignRaceProcessorToPolls
Description

Adds an existing RaceProcessor to a Polls.

Parametersosid.id.IdraceProcessorIdthe Id of the RaceProcessor
osid.id.IdpollsIdthe Id of the Polls
ErrorsALREADY_EXISTS raceProcessorId is already assigned to pollsId
NOT_FOUND raceProcessorId or pollsId not found
NULL_ARGUMENT raceProcessorId or pollsId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignRaceProcessorFromPolls
Description

Removes a RaceProcessor from a Polls.

Parametersosid.id.IdraceProcessorIdthe Id of the RaceProcessor
osid.id.IdpollsIdthe Id of the Polls
ErrorsNOT_FOUND raceProcessorId or pollsId not found or raceProcessorId not assigned to pollsId
NULL_ARGUMENT raceProcessorId or pollsId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignRaceProcessorToPolls
Description

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

Parametersosid.id.IdraceProcessorIdthe Id of the RaceProcessor
osid.id.IdfromPollsIdthe Id of the current Polls
osid.id.IdtoPollsIdthe Id of the destination Polls
ErrorsNOT_FOUND raceProcessorId, fromPollsId, or toPollsId not found or raceProcessorId not mapped to fromPollsId
NULL_ARGUMENT raceProcessorId, fromPollsId, or toPollsId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.