public interface OfficeBatchAdminSession extends OfficeAdminSession
This session creates, updates, and deletes Offices
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
Office,
an OfficeForm
is requested using
getOfficeFormsForCreate()
specifying the desired record
Types
or none if no record Types
are needed.
Each of the returned OfficeForms
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 OfficeForm
is
submiited to a create operation, it cannot be reused with another create
operation unless the first operation was unsuccessful. Each
OfficeForm
corresponds to an attempted transaction.
The OfficeForms
returned from
getOfficeFormsForCreate()
may be linked to the originating request
through the peer Ids
of the OfficeForm.
In
the case where there may be duplicates, any OfficeForm
of
the same peer Ids
may be used for a create operation.
Once a batch of OfficeForms
are submitted for create, a
CreateResponse
is returned for each OfficeForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createOffices(),
errors specific to an individual OfficeForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating OfficeForm
through the OfficeForm
Id
.
For updates, OfficeForms
are requested to the
Office
Id
that is to be updated using
getOfficeFormsForUpdate()
where the reference Id
in
the OfficeForm
may be used to link the request. Similarly,
the OfficeForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
OfficeForm
can only be used once for a successful update
and cannot be reused.
Once a batch of OfficeForms
are submitted for update,
an UpdateResponse
is returned for each OfficeForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateOffices(),
errors specific to an individual OfficeForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating OfficeForm
through the OfficeForm
Id.
The delete operations delete Offices
in bulk. Bulk
delete operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasOffices(AliasRequestList aliasRequests)
Adds an
Id to an Office for the purpose
of creating compatibility. |
CreateResponseList |
createOffices(OfficeBatchFormList officeForms)
Creates a new set of
Offices. |
DeleteResponseList |
deleteAllOffices()
Deletes all
Offices. |
DeleteResponseList |
deleteOffices(IdList officeIds)
Deletes offices for the given
Ids. |
OfficeBatchFormList |
getOfficeFormsForCreate(long number,
Type[] officeRecordTypes)
Gets the office forms for creating a bunch of new offices.
|
OfficeBatchFormList |
getOfficeFormsForUpdate(IdList officeIds)
Gets the office forms for updating an existing set of offices.
|
UpdateResponseList |
updateOffices(OfficeBatchFormList officeForms)
Updates existing offices.
|
aliasOffice, canCreateOffices, canCreateOfficeWithRecordTypes, canDeleteOffices, canManageOfficeAliases, canUpdateOffices, createOffice, deleteOffice, getOfficeFormForCreate, getOfficeFormForUpdate, updateOffice
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
OfficeBatchFormList getOfficeFormsForCreate(long number, Type[] officeRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrieveofficeRecordTypes
- array of office record types to be included
in each create operation or an empty list if noneNullArgumentException
- officeRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createOffices(OfficeBatchFormList officeForms) throws OperationFailedException, PermissionDeniedException
Offices.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.officeForms
- the office formsNullArgumentException
- officeForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. OfficeBatchFormList getOfficeFormsForUpdate(IdList officeIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
officeIds
- the Ids
of the Office
NotFoundException
- an officeId
is not
foundNullArgumentException
- officeIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateOffices(OfficeBatchFormList officeForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.officeForms
- the form containing the elements to be updatedNullArgumentException
- officeForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllOffices() throws OperationFailedException, PermissionDeniedException
Offices.
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteOffices(IdList officeIds) throws OperationFailedException, PermissionDeniedException
Ids.
officeIds
- the Ids
of the offices to deleteNullArgumentException
- officeIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasOffices(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to an Office
for the purpose
of creating compatibility. The primary Id
of the
Office
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is
a pointer to another office, it is reassigned to the given office
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.