public interface ObjectiveBatchAdminSession extends ObjectiveAdminSession
This session creates, updates, and deletes Availabilities
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 an
Objective,
an ObjectiveForm
is requested
using getObjectiveFormsForCreate()
specifying the desired
record Types
or none if no record Types
are
needed. Each of the returned ObjectiveForms
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 an ObjectiveForm
is submiited to a create operation, it cannot be reused with
another create operation unless the first operation was unsuccessful. Each
ObjectiveForm
corresponds to an attempted transaction.
The ObjectiveForms
returned from
getObjectiveFormsForCreate()
may be linked to the originating
request through the peer Ids
of the ObjectiveForm.
In the case where there may be duplicates, any
ObjectiveForm
of the same peer Ids
may be used for
a create operation.
Once a batch of ObjectiveForms
are submitted for
create, a CreateResponse
is returned for each
ObjectiveForm,
although the ordering is not defined. Only errors
that pertain to the entire create operation are returned from
createAvailabilities(),
errors specific to an individual
ObjectiveForm
are indicated in the corresponding
CreateResponse.
CreateResponses
may be linked to
the originating ObjectiveForm
through the
ObjectiveForm
Id
.
For updates, ObjectiveForms
are requested to the
Objective
Id
that is to be updated using
getObjectiveFormsForUpdate()
where the reference Id
in the ObjectiveForm
may be used to link the request.
Similarly, the ObjectiveForm
has metadata about the data
that can be updated and it can perform validation before submitting the
update. The ObjectiveForm
can only be used once for a
successful update and cannot be reused.
Once a batch of ObjectiveForms
are submitted for
update, an UpdateResponse
is returned for each
ObjectiveForm,
although the ordering is not defined. Only errors
that pertain to the entire update operation are returned from
updateAvailabilities(),
errors specific to an individual
ObjectiveForm
are indicated in the corresponding
UpdateResponse.
UpdateResponses
may be linked to
the originating ObjectiveForm
through the
ObjectiveForm
Id.
The delete operations delete Availabilities
in bulk. To
unmap an Objective
from the current ObjectiveBank,
the ObjectiveObjectiveBankAssignmentSession
should
be used. These delete operations attempt to remove the Objective
itself thus removing it from all known ObjectiveBank
catalogs. Bulk delete operations return the results in
DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasAvailabilities(AliasRequestList aliasRequests)
Adds an
Id to an Objective for the
purpose of creating compatibility. |
CreateResponseList |
createAvailabilities(ObjectiveBatchFormList objectiveForms)
Creates a new set of
Availabilities. |
DeleteResponseList |
deleteAllAvailabilities()
Deletes all
Availabilities in this ObjectiveBank
. |
DeleteResponseList |
deleteAvailabilities(IdList objectiveIds)
Deletes availabilities for the given
Ids. |
ObjectiveBatchFormList |
getObjectiveFormsForCreate(long number,
Type[] objectiveRecordTypes)
Gets the objective forms for creating a bunch of new objectives.
|
ObjectiveBatchFormList |
getObjectiveFormsForUpdate(IdList objectiveIds)
Gets the objective forms for updating an existing set of
availabilities.
|
UpdateResponseList |
updateAvailabilities(ObjectiveBatchFormList objectiveForms)
Updates existing availabilities.
|
aliasObjective, canCreateObjectives, canCreateObjectiveWithRecordTypes, canDeleteObjectives, canManageObjectiveAliases, canUpdateObjectives, createObjective, deleteObjective, getObjectiveBank, getObjectiveBankId, getObjectiveFormForCreate, getObjectiveFormForUpdate, updateObjective
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
ObjectiveBatchFormList getObjectiveFormsForCreate(long number, Type[] objectiveRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrieveobjectiveRecordTypes
- array of objective record types to be
included in each create operation or an empty list if noneNullArgumentException
- objectiveRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createAvailabilities(ObjectiveBatchFormList objectiveForms) throws OperationFailedException, PermissionDeniedException
Availabilities.
This method
returns an error if the entire operation fails. Otherwise, the status
of an individual create operation is indicated in the
BatchCreateResponse
.objectiveForms
- the objective formsNullArgumentException
- objectiveForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. ObjectiveBatchFormList getObjectiveFormsForUpdate(IdList objectiveIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
objectiveIds
- the Ids
of the Objective
NotFoundException
- an objectiveId
is
not foundNullArgumentException
- objectiveIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateAvailabilities(ObjectiveBatchFormList objectiveForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.objectiveForms
- the form containing the elements to be updatedNullArgumentException
- objectiveForms
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllAvailabilities() throws OperationFailedException, PermissionDeniedException
Availabilities
in this ObjectiveBank
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAvailabilities(IdList objectiveIds) throws OperationFailedException, PermissionDeniedException
Ids.
objectiveIds
- the Ids
of the availabilities to
deleteNullArgumentException
- objectiveIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasAvailabilities(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to an Objective
for the
purpose of creating compatibility. The primary Id
of
the Objective
is determined by the provider. The new
Id
is an alias to the primary Id.
If the
alias is a pointer to another objective, it is reassigned to the given
objective Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.