public interface CandidateBatchAdminSession extends CandidateAdminSession
This session creates, updates, and deletes Candidates
in
bulk. The data for create and update is provided by the consumer via the
form object. OsidForms
are requested for each create or
update and may not be reused.
Create and update operations differ in their usage. To create a
Candidate,
a CandidateForm
is requested using
getCandidateFormsForCreate()
specifying the desired race,
resource, and record Types
or none if no record
Types
are needed. Each of the returned CandidateForms
will indicate that it is to be used with a create operation and
can be used to examine metdata or validate data prior to creation. Once a
CandidateForm
is submiited to a create operation, it cannot
be reused with another create operation unless the first operation was
unsuccessful. Each CandidateForm
corresponds to an
attempted transaction.
The CandidateForms
returned from
getCandidateFormsForCreate()
may be linked to the originating
request through the peer Ids
of the CandidateForm.
In the case where there may be duplicates, any
CandidateForm
of the same peer Ids
may be used for
a create operation.
Once a batch of CandidateForms
are submitted for
create, a CreateResponse
is returned for each
CandidateForm,
although the ordering is not defined. Only errors
that pertain to the entire create operation are returned from
createCandidates(),
errors specific to an individual
CandidateForm
are indicated in the corresponding
CreateResponse.
CreateResponses
may be linked to
the originating CandidateForm
through the
CandidateForm
Id
.
For updates, CandidateForms
are requested to the
Candidate
Id
that is to be updated using
getCandidateFormsForUpdate()
where the reference Id
in the CandidateForm
may be used to link the request.
Similarly, the CandidateForm
has metadata about the data
that can be updated and it can perform validation before submitting the
update. The CandidateForm
can only be used once for a
successful update and cannot be reused.
Once a batch of CandidateForms
are submitted for
update, an UpdateResponse
is returned for each
CandidateForm,
although the ordering is not defined. Only errors
that pertain to the entire update operation are returned from
updateCandidates(),
errors specific to an individual
CandidateForm
are indicated in the corresponding
UpdateResponse.
UpdateResponses
may be linked to
the originating CandidateForm
through the
CandidateForm
Id.
The delete operations delete Candidates
in bulk. To
unmap a Candidate
from the current Polls,
the CandidatePollsAssignmentSession
should be used. These
delete operations attempt to remove the Candidate
itself
thus removing it from all known Polls
catalogs. Bulk delete
operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasCandidates(AliasRequestList aliasRequests)
Adds an
Id to a Candidate for the
purpose of creating compatibility. |
CreateResponseList |
createCandidates(CandidateBatchFormList candidateForms)
Creates a new set of
Candidates. |
DeleteResponseList |
deleteAllCandidates()
Deletes all
Candidates in this Polls . |
DeleteResponseList |
deleteCandidates(IdList candidateIds)
Deletes candidates for the given
Ids. |
DeleteResponseList |
deleteCandidatesForRace(Id raceId)
Deletes candidates for the given race.
|
DeleteResponseList |
deleteCandidatesForResource(Id resourceId)
Deletes candidates for the given resource.
|
DeleteResponseList |
deleteIneffectiveCandidatesByDate(DateTime date)
Deletes candidates ineffective before the given date.
|
CandidateBatchFormList |
getCandidateFormsForCreate(CandidatePeerList peers,
Type[] candidateRecordTypes)
Gets the candidate forms for creating a bunch of new candidates.
|
CandidateBatchFormList |
getCandidateFormsForUpdate(IdList candidateIds)
Gets the candidate forms for updating an existing set of candidates.
|
UpdateResponseList |
updateCandidates(CandidateBatchFormList candidateForms)
Updates existing candidates.
|
aliasCandidate, canCreateCandidates, canCreateCandidateWithRecordTypes, canDeleteCandidates, canManageCandidateAliases, canUpdateCandidates, createCandidate, deleteCandidate, getCandidateFormForCreate, getCandidateFormForUpdate, getPolls, getPollsId, updateCandidate
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
CandidateBatchFormList getCandidateFormsForCreate(CandidatePeerList peers, Type[] candidateRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException
peers
- the candidate peerscandidateRecordTypes
- array of candidate record types to be
included in each create operation or an empty list if noneNotFoundException
- a resourceId
or
raceId
is not foundNullArgumentException
- peers
or
candidateRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createCandidates(CandidateBatchFormList candidateForms) throws OperationFailedException, PermissionDeniedException
Candidates.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.candidateForms
- the candidate formsNullArgumentException
- candidateForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. CandidateBatchFormList getCandidateFormsForUpdate(IdList candidateIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
candidateIds
- the Ids
of the Candidate
NotFoundException
- a candidateId
is not
foundNullArgumentException
- candidateIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateCandidates(CandidateBatchFormList candidateForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.candidateForms
- the form containing the elements to be updatedNullArgumentException
- candidateForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllCandidates() throws OperationFailedException, PermissionDeniedException
Candidates
in this Polls
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCandidates(IdList candidateIds) throws OperationFailedException, PermissionDeniedException
Ids.
candidateIds
- the Ids
of the candidates to
deleteNullArgumentException
- candidateIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCandidatesForRace(Id raceId) throws OperationFailedException, PermissionDeniedException
raceId
- the Ids
of a raceNullArgumentException
- raceId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteCandidatesForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
resourceId
- the Ids
of a resourceNullArgumentException
- resourceId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteIneffectiveCandidatesByDate(DateTime date) throws OperationFailedException, PermissionDeniedException
date
- a dateNullArgumentException
- date
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasCandidates(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Candidate
for the
purpose of creating compatibility. The primary Id
of
the Candidate
is determined by the provider. The new
Id
is an alias to the primary Id.
If the
alias is a pointer to another candidate, it is reassigned to the given
candidate Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.