public interface InventoryBatchAdminSession extends InventoryAdminSession
This session creates, updates, and deletes Inventories
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
Inventory, an InventoryForm is requested
using getInventoryFormsForCreate() specifying the desired
record Types or none if no record Types are
needed. Each of the returned InventoryForms 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 InventoryForm
is submiited to a create operation, it cannot be reused with
another create operation unless the first operation was unsuccessful. Each
InventoryForm corresponds to an attempted transaction.
The InventoryForms returned from
getInventoryFormsForCreate() may be linked to the originating
request through the peer Ids of the InventoryForm.
In the case where there may be duplicates, any
InventoryForm of the same peer Ids may be used for
a create operation.
Once a batch of InventoryForms are submitted for
create, a CreateResponse is returned for each
InventoryForm, although the ordering is not defined. Only errors
that pertain to the entire create operation are returned from
createInventories(), errors specific to an individual
InventoryForm are indicated in the corresponding
CreateResponse. CreateResponses may be linked to
the originating InventoryForm through the
InventoryForm Id .
For updates, InventoryForms are requested to the
Inventory Id that is to be updated using
getInventoryFormsForUpdate() where the reference Id
in the InventoryForm may be used to link the request.
Similarly, the InventoryForm has metadata about the data
that can be updated and it can perform validation before submitting the
update. The InventoryForm can only be used once for a
successful update and cannot be reused.
Once a batch of InventoryForms are submitted for
update, an UpdateResponse is returned for each
InventoryForm, although the ordering is not defined. Only errors
that pertain to the entire update operation are returned from
updateInventories(), errors specific to an individual
InventoryForm are indicated in the corresponding
UpdateResponse. UpdateResponses may be linked to
the originating InventoryForm through the
InventoryForm Id.
The delete operations delete Inventories in bulk. Bulk
delete operations return the results in DeleteResponses.
| Modifier and Type | Method and Description |
|---|---|
AliasResponseList |
aliasInventories(AliasRequestList aliasRequests)
Adds an
Id to an Inventory for the
purpose of creating compatibility. |
CreateResponseList |
createInventories(InventoryBatchFormList inventoryForms)
Creates a new set of
Inventories. |
DeleteResponseList |
deleteAllInventories()
Deletes all
Inventories. |
DeleteResponseList |
deleteInventories(IdList inventoryIds)
Deletes inventories for the given
Ids. |
InventoryBatchFormList |
getInventoryFormsForCreate(long number,
Type[] inventoryRecordTypes)
Gets the inventory forms for creating a bunch of new inventories.
|
InventoryBatchFormList |
getInventoryFormsForUpdate(IdList inventoryIds)
Gets the inventory forms for updating an existing set of inventories.
|
UpdateResponseList |
updateInventories(InventoryBatchFormList inventoryForms)
Updates existing inventories.
|
aliasInventory, canCreateInventories, canCreateInventoryWithRecordTypes, canDeleteInventories, canDeleteInventory, canManageInventoryAliases, canUpdateInventories, createInventory, deleteInventory, getInventoryFormForCreate, getInventoryFormForUpdate, getWarehouse, getWarehouseId, updateInventorygetAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseInventoryBatchFormList getInventoryFormsForCreate(long number, Type[] inventoryRecordTypes) throws OperationFailedException, PermissionDeniedException
number - the number of forms to retrieveinventoryRecordTypes - array of inventory record types to be
included in each create operation or an empty list if noneNullArgumentException - inventoryRecordTypes
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to request forms with
given record typesmandatory - This method must be implemented. CreateResponseList createInventories(InventoryBatchFormList inventoryForms) throws OperationFailedException, PermissionDeniedException
Inventories. This method returns
an error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse .inventoryForms - the inventory formsNullArgumentException - inventoryForms
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. InventoryBatchFormList getInventoryFormsForUpdate(IdList inventoryIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
inventoryIds - the Ids of the Inventory
NotFoundException - an inventoryId is
not foundNullArgumentException - inventoryIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. UpdateResponseList updateInventories(InventoryBatchFormList inventoryForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse .inventoryForms - the form containing the elements to be updatedNullArgumentException - inventoryForms
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteAllInventories() throws OperationFailedException, PermissionDeniedException
Inventories. OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. DeleteResponseList deleteInventories(IdList inventoryIds) throws OperationFailedException, PermissionDeniedException
Ids. inventoryIds - the Ids of the inventories to
deleteNullArgumentException - inventoryIds is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. AliasResponseList aliasInventories(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id to an Inventory for the
purpose of creating compatibility. The primary Id of
the Inventory is determined by the provider. The new
Id is an alias to the primary Id. If the
alias is a pointer to another inventory, it is reassigned to the given
inventory Id. aliasRequests - the alias requestsNullArgumentException - aliasRequests is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented.