public interface StockBatchAdminSession extends StockAdminSession
This session creates, updates, and deletes Stocks
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
Stock,
a StockForm
is requested using
getStockFormsForCreate()
specifying the desired work, resource,
and record Types
or none if no record Types
are needed. Each of the returned StockForms
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 StockForm
is submiited to a create operation, it cannot be reused with
another create operation unless the first operation was unsuccessful. Each
StockForm
corresponds to an attempted transaction.
The StockForms
returned from
getStockFormsForCreate()
may be linked to the originating request
through the peer Ids
of the StockForm.
In
the case where there may be duplicates, any StockForm
of
the same peer Ids
may be used for a create operation.
Once a batch of StockForms
are submitted for create, a
CreateResponse
is returned for each StockForm,
although the ordering is not defined. Only errors that pertain to
the entire create operation are returned from createStocks(),
errors specific to an individual StockForm
are
indicated in the corresponding CreateResponse.
CreateResponses
may be linked to the originating StockForm
through the StockForm
Id
.
For updates, StockForms
are requested to the
Stock
Id
that is to be updated using
getStockFormsForUpdate()
where the reference Id
in
the StockForm
may be used to link the request. Similarly,
the StockForm
has metadata about the data that can be
updated and it can perform validation before submitting the update. The
StockForm
can only be used once for a successful update and
cannot be reused.
Once a batch of StockForms
are submitted for update, an
UpdateResponse
is returned for each StockForm,
although the ordering is not defined. Only errors that pertain to
the entire update operation are returned from updateStocks(),
errors specific to an individual StockForm
are
indicated in the corresponding UpdateResponse.
UpdateResponses
may be linked to the originating StockForm
through the StockForm
Id.
The delete operations delete Stocks
in bulk. To unmap a
Stock
from the current Inventory,
the
StockInventoryAssignmentSession
should be used. These delete
operations attempt to remove the Stock
itself thus removing
it from all known Inventory
catalogs. Bulk delete
operations return the results in DeleteResponses.
Modifier and Type | Method and Description |
---|---|
AliasResponseList |
aliasStocks(AliasRequestList aliasRequests)
Adds an
Id to a Stock for the purpose of
creating compatibility. |
CreateResponseList |
createStocks(StockBatchFormList stockForms)
Creates a new set of
Stocks. |
DeleteResponseList |
deleteAllStocks()
Deletes all
Stocks in this Inventory . |
DeleteResponseList |
deleteStocks(IdList stockIds)
Deletes stocks for the given
Ids. |
StockBatchFormList |
getStockFormsForCreate(long number,
Type[] stockRecordTypes)
Gets the stock forms for creating a bunch of new stocks.
|
StockBatchFormList |
getStockFormsForUpdate(IdList stockIds)
Gets the stock forms for updating an existing set of stocks.
|
UpdateResponseList |
updateStocks(StockBatchFormList stockForms)
Updates existing stocks.
|
aliasStock, canCreateStocks, canCreateStockWithRecordTypes, canDeleteStocks, canManageStockAliases, canUpdateStocks, createStock, deleteStock, getStockFormForCreate, getStockFormForUpdate, getWarehouse, getWarehouseId, updateStock
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
StockBatchFormList getStockFormsForCreate(long number, Type[] stockRecordTypes) throws OperationFailedException, PermissionDeniedException
number
- the number of forms to retrievestockRecordTypes
- array of stock record types to be included in
each create operation or an empty list if noneNullArgumentException
- stockRecordTypes
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failureUnsupportedException
- unable to request forms with
given record typesmandatory
- This method must be implemented. CreateResponseList createStocks(StockBatchFormList stockForms) throws OperationFailedException, PermissionDeniedException
Stocks.
This method returns an
error if the entire operation fails. Otherwise, the status of an
individual create operation is indicated in the
BatchCreateResponse
.stockForms
- the stock formsNullArgumentException
- stockForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. StockBatchFormList getStockFormsForUpdate(IdList stockIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
stockIds
- the Ids
of the Stock
NotFoundException
- a stockId
is not
foundNullArgumentException
- stockIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. UpdateResponseList updateStocks(StockBatchFormList stockForms) throws OperationFailedException, PermissionDeniedException
BatchCreateResponse
.stockForms
- the form containing the elements to be updatedNullArgumentException
- stockForms
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteAllStocks() throws OperationFailedException, PermissionDeniedException
Stocks
in this Inventory
.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. DeleteResponseList deleteStocks(IdList stockIds) throws OperationFailedException, PermissionDeniedException
Ids.
stockIds
- the Ids
of the stocks to deleteNullArgumentException
- stockIds
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. AliasResponseList aliasStocks(AliasRequestList aliasRequests) throws OperationFailedException, PermissionDeniedException
Id
to a Stock
for the purpose of
creating compatibility. The primary Id
of the
Stock
is determined by the provider. The new Id
is an alias to the primary Id.
If the alias is a
pointer to another stock, it is reassigned to the given stock
Id.
aliasRequests
- the alias requestsNullArgumentException
- aliasRequests
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.