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, updateCandidategetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseCandidateBatchFormList 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.