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, updateInventory
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
InventoryBatchFormList 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.