Interface ShipmentAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
- All Known Subinterfaces:
ShipmentBatchAdminSession
This session creates, updates, and deletes Shipments . 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
Shipment , a ShipmentForm is requested using
getShipmentFormForCreate() specifying the desired record Types or
none if no record Types are needed. The returned
ShipmentForm 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 the ShipmentForm is submiited to a create operation, it
cannot be reused with another create operation unless the first operation
was unsuccessful. Each ShipmentForm corresponds to an attempted
transaction.
For updates, ShipmentForms are requested to the
Shipment Id that is to be updated using
getShipmentFormForUpdate() . Similarly, the ShipmentForm has
metadata about the data that can be updated and it can perform validation
before submitting the update. The ShipmentForm can only be used
once for a successful update and cannot be reused.
The delete operations delete Shipments . To unmap a
Shipment from the current Warehouse , the
ShipmentWarehouseAssignmentSession should be used. These delete
operations attempt to remove the Shipment itself thus removing it
from all known Warehouse catalogs.
This session includes an Id aliasing mechanism to assign an
external Id to an internally assigned Id.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaliasEntry(Id entryId, Id aliasId) Adds anIdto anEntryfor the purpose of creating compatibility.voidaliasShipment(Id shipmentId, Id aliasId) Adds anIdto aShipmentfor the purpose of creating compatibility.booleanTests if this user can createEntries.booleancanCreateEntriesWithRecordTypes(Type[] entryRecordTypes) Tests if this user can create a singleEntryusing the desired record types.booleanTests if this user can createShipments.booleancanCreateShipmentWithRecordTypes(Type[] shipmentRecordTypes) Tests if this user can create a singleShipmentusing the desired record types.booleanTests if this user can deleteEntries.booleanTests if this user can deleteShipments.booleanTests if this user can manageIdaliases forEntries.booleanTests if this user can manageIdaliases forShipments.booleanTests if this user can updateEntries.booleanTests if this user can updateShipments.createEntry(EntryForm entryForm) Creates a newEntry.createShipment(ShipmentForm shipmentForm) Creates a newShipment.voiddeleteEntry(Id entryId) Deletes anEntry.voiddeleteShipment(Id shipmentId) Deletes aShipment.getEntryFormForCreate(Id shipmentId, Type[] entryRecordTypes) Gets the entry form for creating new entries.getEntryFormForUpdate(Id entryId) Gets the entry form for updating an existing entry.getShipmentFormForCreate(Type[] shipmentRecordTypes) Gets the shipment form for creating new shipments.getShipmentFormForUpdate(Id shipmentId) Gets the shipment form for updating an existing shipment.Gets theWarehouseassociated with this session.Gets theWarehouseIdassociated with this session.voidupdateEntry(EntryForm entryForm) Updates an existing entry.voidupdateShipment(ShipmentForm shipmentForm) Updates an existing shipment.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getWarehouseId
Id getWarehouseId()Gets theWarehouseIdassociated with this session.- Returns:
- the
Warehouse Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getWarehouse
Gets theWarehouseassociated with this session.- Returns:
- the warehouse
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canCreateShipments
boolean canCreateShipments()Tests if this user can createShipments. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating aShipmentwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.- Returns:
falseifShipmentcreation is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canCreateShipmentWithRecordTypes
Tests if this user can create a singleShipmentusing the desired record types. WhileInventoryShipmentManager.getShipmentRecordTypes()can be used to examine which records are supported, this method tests which record(s) are required for creating a specificShipment. Providing an empty array tests if aShipmentcan be created with no records.- Parameters:
shipmentRecordTypes- array of shipment record types- Returns:
trueifShipmentcreation using the specified recordTypesis supported,falseotherwise- Throws:
NullArgumentException-shipmentRecordTypesisnull- Compliance:
mandatory- This method must be implemented.
-
getShipmentFormForCreate
ShipmentForm getShipmentFormForCreate(Type[] shipmentRecordTypes) throws OperationFailedException, PermissionDeniedException Gets the shipment form for creating new shipments. A new form should be requested for each create transaction.- Parameters:
shipmentRecordTypes- array of shipment record types- Returns:
- the shipment form
- Throws:
NullArgumentException-shipmentRecordTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to get form for requested record types- Compliance:
mandatory- This method must be implemented.
-
createShipment
Shipment createShipment(ShipmentForm shipmentForm) throws OperationFailedException, PermissionDeniedException Creates a newShipment.- Parameters:
shipmentForm- the form for thisShipment- Returns:
- the new
Shipment - Throws:
IllegalStateException-shipmentFormalready used in a create transactionInvalidArgumentException- one or more of the form elements is invalidNullArgumentException-shipmentFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-shipmentForm did not originate from getShipmentFormForCreate()- Compliance:
mandatory- This method must be implemented.
-
canUpdateShipments
boolean canUpdateShipments()Tests if this user can updateShipments. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating aShipmentwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.- Returns:
falseifShipmentmodification is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
getShipmentFormForUpdate
ShipmentForm getShipmentFormForUpdate(Id shipmentId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the shipment form for updating an existing shipment. A new shipment form should be requested for each update transaction.- Parameters:
shipmentId- theIdof theShipment- Returns:
- the shipment form
- Throws:
NotFoundException-shipmentIdis not foundNullArgumentException-shipmentIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateShipment
void updateShipment(ShipmentForm shipmentForm) throws OperationFailedException, PermissionDeniedException Updates an existing shipment.- Parameters:
shipmentForm- the form containing the elements to be updated- Throws:
IllegalStateException-shipmentFormalready used in an update transactionInvalidArgumentException- the form contains an invalid valueNullArgumentException-shipmentFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-shipmentForm did not originate from getShipmentFormForUpdate()- Compliance:
mandatory- This method must be implemented.
-
canDeleteShipments
boolean canDeleteShipments()Tests if this user can deleteShipments. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting aShipmentwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.- Returns:
falseifShipmentdeletion is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
deleteShipment
void deleteShipment(Id shipmentId) throws NotFoundException, OperationFailedException, PermissionDeniedException Deletes aShipment.- Parameters:
shipmentId- theIdof theShipmentto remove- Throws:
NotFoundException-shipmentIdnot foundNullArgumentException-shipmentIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canManageShipmentAliases
boolean canManageShipmentAliases()Tests if this user can manageIdaliases forShipments. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.- Returns:
falseifShipmentaliasing is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
aliasShipment
void aliasShipment(Id shipmentId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds anIdto aShipmentfor the purpose of creating compatibility. The primaryIdof theShipmentis determined by the provider. The newIdperforms as an alias to the primaryId. If the alias is a pointer to another shipment, it is reassigned to the given shipmentId.- Parameters:
shipmentId- theIdof aShipmentaliasId- the aliasId- Throws:
AlreadyExistsException-aliasIdis in use as a primaryIdNotFoundException-shipmentIdnot foundNullArgumentException-shipmentIdoraliasIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canCreateEntries
boolean canCreateEntries()Tests if this user can createEntries. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating anEntrywill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.- Returns:
falseifEntrycreation is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canCreateEntriesWithRecordTypes
Tests if this user can create a singleEntryusing the desired record types. WhileInventoryShippingManager.getEntryRecordTypes()can be used to examine which records are supported, this method tests which record(s) are required for creating a specificEntry. Providing an empty array tests if anEntrycan be created with no records.- Parameters:
entryRecordTypes- array of entry record types- Returns:
trueifEntrycreation using the specified recordTypesis supported,falseotherwise- Throws:
NullArgumentException-entryRecordTypesisnull- Compliance:
mandatory- This method must be implemented.
-
getEntryFormForCreate
EntryForm getEntryFormForCreate(Id shipmentId, Type[] entryRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the entry form for creating new entries. A new form should be requested for each create transaction.- Parameters:
shipmentId- a shipmentIdentryRecordTypes- array of entry record types- Returns:
- the entry form
- Throws:
NotFoundException-shipmentIdis not foundNullArgumentException-entryRecordTypesorshipmentIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to get form for requested record types- Compliance:
mandatory- This method must be implemented.
-
createEntry
Creates a newEntry.- Parameters:
entryForm- the form for thisEntry- Returns:
- the new
Entry - Throws:
IllegalStateException-entryFormalready used in a create transactionInvalidArgumentException- one or more of the form elements is invalidNullArgumentException-entryFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-entry did not originate from getEntryFormForCreate()- Compliance:
mandatory- This method must be implemented.
-
canUpdateEntries
boolean canUpdateEntries()Tests if this user can updateEntries. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating anEntrywill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.- Returns:
falseifEntrymodification is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
getEntryFormForUpdate
EntryForm getEntryFormForUpdate(Id entryId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the entry form for updating an existing entry. A new entry form should be requested for each update transaction.- Parameters:
entryId- theIdof theEntry- Returns:
- the entry form
- Throws:
NotFoundException-entryIdis not foundNullArgumentException-entryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateEntry
Updates an existing entry.- Parameters:
entryForm- the form containing the elements to be updated- Throws:
IllegalStateException-entryFormalready used in an update transactionInvalidArgumentException- the form contains an invalid valueNullArgumentException-entryFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-entryForm did not originate from getEntryFormForUpdate()- Compliance:
mandatory- This method must be implemented.
-
canDeleteEntries
boolean canDeleteEntries()Tests if this user can deleteEntries. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting anEntrywill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.- Returns:
falseifEntrydeletion is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
deleteEntry
void deleteEntry(Id entryId) throws NotFoundException, OperationFailedException, PermissionDeniedException Deletes anEntry.- Parameters:
entryId- theIdof theEntryto remove- Throws:
NotFoundException-entryIdnot foundNullArgumentException-entryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canManageEntryAliases
boolean canManageEntryAliases()Tests if this user can manageIdaliases forEntries. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.- Returns:
falseifEntryaliasing is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
aliasEntry
void aliasEntry(Id entryId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds anIdto anEntryfor the purpose of creating compatibility. The primaryIdof theEntryis determined by the provider. The newIdperforms as an alias to the primaryId. If the alias is a pointer to another entry, it is reassigned to the given entryId.- Parameters:
entryId- theIdof anEntryaliasId- the aliasId- Throws:
AlreadyExistsException-aliasIdis in use as a primaryIdNotFoundException-entryIdnot foundNullArgumentException-entryIdoraliasIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-