public class CachingInventoryManager extends java.lang.Object implements LocationInventoryManager
| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
CLASS_VERSION  | 
static int | 
UNCACHED_INVENTORY_MANAGER_NOT_SET
return code when uncachedInventoryManger is not set 
 | 
AVAILABILITY_STATUS_BACKORDERABLE, AVAILABILITY_STATUS_DERIVED, AVAILABILITY_STATUS_DISCONTINUED, AVAILABILITY_STATUS_IN_STOCK, AVAILABILITY_STATUS_OUT_OF_STOCK, AVAILABILITY_STATUS_PREORDERABLE, INVENTORY_STATUS_FAIL, INVENTORY_STATUS_INSUFFICIENT_SUPPLY, INVENTORY_STATUS_ITEM_NOT_FOUND, INVENTORY_STATUS_SUCCEED| Constructor and Description | 
|---|
CachingInventoryManager()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
acquireInventoryLocks(java.util.List pItemIds)
Acquires locks for the inventory items that apply to the given
 ids. 
 | 
void | 
acquireInventoryLocks(java.util.List pItemIds,
                     java.lang.String pLocationId)
Acquires locks for the inventory items that apply to the given
 ids. 
 | 
int | 
backorder(java.lang.String pId,
         long pHowMany)
Backorder an item. 
 | 
int | 
backorder(java.lang.String pId,
         long pHowMany,
         java.lang.String pLocationId)
Backorder an item. 
 | 
int | 
decreaseBackorderLevel(java.lang.String pId,
                      long pNumber)
Decrease an item's backorder level by the specified amount. 
 | 
int | 
decreaseBackorderLevel(java.lang.String pId,
                      long pNumber,
                      java.lang.String pLocationId)
Decrease an item's backorder level by the specified amount. 
 | 
int | 
decreasePreorderLevel(java.lang.String pId,
                     long pNumber)
Decrease an item's preorder level by the specified amount. 
 | 
int | 
decreasePreorderLevel(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)
Decrease an item's preorder level by the specified amount. 
 | 
int | 
decreaseStockLevel(java.lang.String pId,
                  long pNumber)
Decrease an item's stock level by the specified amount. 
 | 
int | 
decreaseStockLevel(java.lang.String pId,
                  long pNumber,
                  java.lang.String pLocationId)
Decrease an item's stock level by the specified amount. 
 | 
void | 
flushCache()
Invalidate all the entries in the cache. 
 | 
void | 
flushCache(java.util.List pItemIds)
Invalidates the cache entries for the given ids. 
 | 
void | 
flushCache(java.util.List<java.lang.String> pItemIds,
          java.util.List<java.lang.String> pLocationIds)
Invalidates the cache for all of the given item and location combinations 
 | 
void | 
flushCache(java.util.List pItemIds,
          java.lang.String pLocationId)
Invalidates the cache for all of the given items at the given location 
 | 
java.lang.String | 
getDelimiter()  | 
AbstractCache | 
getInventoryCache()
Returns property InventoryCache 
 | 
java.lang.String | 
getInventoryName()
A displayable name for thie inventory manager. 
 | 
protected java.lang.String | 
getKey(java.lang.String pId)
Get the cache key for the given itemId 
 | 
protected java.lang.String | 
getKey(java.lang.String pId,
      java.lang.String pLocationId)
Get the cache key for the given item and location 
 | 
InventoryManager | 
getUncachedInventoryManager()
Returns property UncachedInventoryManager 
 | 
int | 
increaseBackorderLevel(java.lang.String pId,
                      long pNumber)
Increase an item's backorder level by the specified number. 
 | 
int | 
increaseBackorderLevel(java.lang.String pId,
                      long pNumber,
                      java.lang.String pLocationId)
Increase an item's backorder level by the specified number. 
 | 
int | 
increasePreorderLevel(java.lang.String pId,
                     long pNumber)
Increase an item's preorder level by the specified number. 
 | 
int | 
increasePreorderLevel(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)
Increase an item's preorder level by the specified number. 
 | 
int | 
increaseStockLevel(java.lang.String pId,
                  long pNumber)
Increase an item's stock level by the specified number. 
 | 
int | 
increaseStockLevel(java.lang.String pId,
                  long pNumber,
                  java.lang.String pLocationId)
Increase an item's stock level by the specified number. 
 | 
int | 
inventoryWasUpdated(java.util.List pItemIds)
Informs the inventory manager that the given ids are now available. 
 | 
int | 
inventoryWasUpdated(java.util.List pItemIds,
                   java.lang.String pLocationId)
Informs the inventory manager that the given ids are now available. 
 | 
int | 
preorder(java.lang.String pId,
        long pHowMany)
Preorder an item. 
 | 
int | 
preorder(java.lang.String pId,
        long pHowMany,
        java.lang.String pLocationId)
Preorder an item. 
 | 
int | 
purchase(java.lang.String pId,
        long pHowMany)
Actually purchases a product. 
 | 
int | 
purchase(java.lang.String pId,
        long pHowMany,
        java.lang.String pLocationId)
Actually purchases a product. 
 | 
int | 
purchaseOffBackorder(java.lang.String pId,
                    long pHowMany)
Actually purchases a product. 
 | 
int | 
purchaseOffBackorder(java.lang.String pId,
                    long pHowMany,
                    java.lang.String pLocationId)
Actually purchases a product. 
 | 
int | 
purchaseOffPreorder(java.lang.String pId,
                   long pHowMany)
Actually purchases a product. 
 | 
int | 
purchaseOffPreorder(java.lang.String pId,
                   long pHowMany,
                   java.lang.String pLocationId)
Actually purchases a product. 
 | 
java.util.Date | 
queryAvailabilityDate(java.lang.String pId)
Return the availability date of an item. 
 | 
java.util.Date | 
queryAvailabilityDate(java.lang.String pId,
                     java.lang.String pLocationId)
Return the availability date of an item. 
 | 
int | 
queryAvailabilityStatus(java.lang.String pId)
Return the availability status of a given item. 
 | 
int | 
queryAvailabilityStatus(java.lang.String pId,
                       java.lang.String pLocationId)
Return the availability status of a given item. 
 | 
AvailableToPromise | 
queryAvailableToPromise(java.lang.String pItemId,
                       java.lang.String pLocationId)
Returns Available To Promise information for a given id and location 
 | 
long | 
queryBackorderLevel(java.lang.String pId)
Return how many of a given item can be backorder. 
 | 
long | 
queryBackorderLevel(java.lang.String pId,
                   java.lang.String pLocationId)
Return how many of a given item are available for backorder. 
 | 
long | 
queryBackorderThreshold(java.lang.String pId)
Return the threshold associated with backorderLevel 
 | 
long | 
queryBackorderThreshold(java.lang.String pId,
                       java.lang.String pLocationId)
Return the threshold associated with backorderLevel 
 | 
java.util.Collection<InventoryInfo> | 
queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                         java.util.Collection<java.lang.String> pLocationIds)
Returns an InventoryInfo object for every id at every location 
 | 
java.util.Collection<InventoryInfo> | 
queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                         java.lang.String pLocationId)
Returns an InventoryInfo object for each id at the given location 
 | 
java.util.Collection<InventoryInfo> | 
queryInventoryInformation(java.lang.String pId,
                         java.util.Collection<java.lang.String> pLocationIds)
Returns an InventoryInfo object for the given id at each given location 
 | 
InventoryInfo | 
queryInventoryInformation(java.lang.String pId,
                         java.lang.String pLocationId)
Returns an InventoryInfo object for the given id and location 
 | 
long | 
queryPreorderLevel(java.lang.String pId)
Return how many of a given item can be preorder. 
 | 
long | 
queryPreorderLevel(java.lang.String pId,
                  java.lang.String pLocationId)
Return how many of a given item are available for preorder. 
 | 
long | 
queryPreorderThreshold(java.lang.String pId)
Return the threshold associated with preorderLevel 
 | 
long | 
queryPreorderThreshold(java.lang.String pId,
                      java.lang.String pLocationId)
Return the threshold associated with preorderLevel 
 | 
long | 
queryStockLevel(java.lang.String pId)
Return how many of a given item are in the system. 
 | 
long | 
queryStockLevel(java.lang.String pId,
               java.lang.String pLocationId)
Return how many of a given item are in the system. 
 | 
long | 
queryStockThreshold(java.lang.String pId)
Return the threshold associated with stockLevel. 
 | 
long | 
queryStockThreshold(java.lang.String pId,
                   java.lang.String pLocationId)
Return the threshold associated with stockLevel. 
 | 
void | 
releaseInventoryLocks(java.util.List pItemIds)
Release locks for the inventory items that apply to the given
 ids. 
 | 
void | 
releaseInventoryLocks(java.util.List pItemIds,
                     java.lang.String pLocationId)
Release locks for the inventory items that apply to the given
 ids. 
 | 
int | 
setAvailabilityDate(java.lang.String pId,
                   java.util.Date pDate)
Set an item's availability date. 
 | 
int | 
setAvailabilityDate(java.lang.String pId,
                   java.util.Date pDate,
                   java.lang.String pLocationId)
Set an item's availability date. 
 | 
int | 
setAvailabilityStatus(java.lang.String pId,
                     int pStatus)
Set an item's availability status. 
 | 
int | 
setAvailabilityStatus(java.lang.String pId,
                     int pStatus,
                     java.lang.String pLocationId)
Set an item's availability status. 
 | 
int | 
setBackorderLevel(java.lang.String pId,
                 long pNumber)
Set an item's backorder level to the specified number. 
 | 
int | 
setBackorderLevel(java.lang.String pId,
                 long pNumber,
                 java.lang.String pLocationId)
Set an item's backorder level to the specified number. 
 | 
int | 
setBackorderThreshold(java.lang.String pId,
                     long pNumber)
Set an item's backorder level threshold. 
 | 
int | 
setBackorderThreshold(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)
Set an item's backorder level threshold. 
 | 
void | 
setDelimiter(java.lang.String pDelimiter)  | 
void | 
setInventoryCache(AbstractCache pInventoryCache)
Sets property InventoryCache 
 | 
void | 
setInventoryName(java.lang.String pInventoryName)  | 
int | 
setPreorderLevel(java.lang.String pId,
                long pNumber)
Set an item's preorder level to the specified number. 
 | 
int | 
setPreorderLevel(java.lang.String pId,
                long pNumber,
                java.lang.String pLocationId)
Set an item's preorder level to the specified number. 
 | 
int | 
setPreorderThreshold(java.lang.String pId,
                    long pNumber)
Set an item's preorder level threshold. 
 | 
int | 
setPreorderThreshold(java.lang.String pId,
                    long pNumber,
                    java.lang.String pLocationId)
Set an item's preorder level threshold. 
 | 
int | 
setStockLevel(java.lang.String pId,
             long pNumber)
Set an item's stock level to the specified number. 
 | 
int | 
setStockLevel(java.lang.String pId,
             long pNumber,
             java.lang.String pLocationId)
Set an item's stock level to the specified number. 
 | 
int | 
setStockThreshold(java.lang.String pId,
                 long pNumber)
Set an item's stock level threshold. 
 | 
int | 
setStockThreshold(java.lang.String pId,
                 long pNumber,
                 java.lang.String pLocationId)
Set an item's stock level threshold. 
 | 
void | 
setUncachedInventoryManager(InventoryManager pUncachedInventoryManager)
Sets property UncachedInventoryManager 
 | 
public static java.lang.String CLASS_VERSION
public static final int UNCACHED_INVENTORY_MANAGER_NOT_SET
public void setInventoryCache(AbstractCache pInventoryCache)
public AbstractCache getInventoryCache()
public void setUncachedInventoryManager(InventoryManager pUncachedInventoryManager)
public InventoryManager getUncachedInventoryManager()
public void setDelimiter(java.lang.String pDelimiter)
public java.lang.String getDelimiter()
public void setInventoryName(java.lang.String pInventoryName)
public java.lang.String getInventoryName()
getInventoryName in interface InventoryManagerpublic int purchase(java.lang.String pId,
           long pHowMany,
           java.lang.String pLocationId)
             throws InventoryException
purchase in interface LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem during the purchase process.public int purchaseOffBackorder(java.lang.String pId,
                       long pHowMany,
                       java.lang.String pLocationId)
                         throws InventoryException
purchaseOffBackorder in interface LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem during the purchase process.public int purchaseOffPreorder(java.lang.String pId,
                      long pHowMany,
                      java.lang.String pLocationId)
                        throws InventoryException
purchaseOffPreorder in interface LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem during the purchase process.public int preorder(java.lang.String pId,
           long pHowMany,
           java.lang.String pLocationId)
             throws InventoryException
preorder in interface LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem in trying to preorder the itempublic int backorder(java.lang.String pId,
            long pHowMany,
            java.lang.String pLocationId)
              throws InventoryException
backorder in interface LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem with the backordering process.public int setStockLevel(java.lang.String pId,
                long pNumber,
                java.lang.String pLocationId)
                  throws InventoryException
setStockLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setBackorderLevel(java.lang.String pId,
                    long pNumber,
                    java.lang.String pLocationId)
                      throws InventoryException
setBackorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setPreorderLevel(java.lang.String pId,
                   long pNumber,
                   java.lang.String pLocationId)
                     throws InventoryException
setPreorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int increaseStockLevel(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)
                       throws InventoryException
increaseStockLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int decreaseStockLevel(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)
                       throws InventoryException
decreaseStockLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int increaseBackorderLevel(java.lang.String pId,
                         long pNumber,
                         java.lang.String pLocationId)
                           throws InventoryException
increaseBackorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int decreaseBackorderLevel(java.lang.String pId,
                         long pNumber,
                         java.lang.String pLocationId)
                           throws InventoryException
decreaseBackorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int increasePreorderLevel(java.lang.String pId,
                        long pNumber,
                        java.lang.String pLocationId)
                          throws InventoryException
increasePreorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int decreasePreorderLevel(java.lang.String pId,
                        long pNumber,
                        java.lang.String pLocationId)
                          throws InventoryException
decreasePreorderLevel in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setStockThreshold(java.lang.String pId,
                    long pNumber,
                    java.lang.String pLocationId)
                      throws InventoryException
setStockThreshold in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setBackorderThreshold(java.lang.String pId,
                        long pNumber,
                        java.lang.String pLocationId)
                          throws InventoryException
setBackorderThreshold in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setPreorderThreshold(java.lang.String pId,
                       long pNumber,
                       java.lang.String pLocationId)
                         throws InventoryException
setPreorderThreshold in interface LocationInventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem trying to restockpublic int setAvailabilityStatus(java.lang.String pId,
                        int pStatus,
                        java.lang.String pLocationId)
                          throws InventoryException
setAvailabilityStatus in interface LocationInventoryManagerpId - the id of the item involvedpStatus - the new status (one of AVAILABILITY_STATUS_IN_STOCK,
                                       AVAILABILITY_STATUS_BACKORDERABLE,
                                       AVAILABILITY_STATUS_PREORDERABLE,
                                       AVAILABILITY_STATUS_OUT_OF_STOCK,
                                       AVAILABILITY_STATUS_DISCONTINUED,
                                    or AVAILABILITY_STATUS_DERIVED)pLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic int setAvailabilityDate(java.lang.String pId,
                      java.util.Date pDate,
                      java.lang.String pLocationId)
                        throws InventoryException
setAvailabilityDate in interface LocationInventoryManagerpId - the id of the item involvedpDate - The new availability date for the item.pLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic long queryStockThreshold(java.lang.String pId,
                       java.lang.String pLocationId)
                         throws InventoryException
queryStockThreshold in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic long queryBackorderThreshold(java.lang.String pId,
                           java.lang.String pLocationId)
                             throws InventoryException
queryBackorderThreshold in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic long queryPreorderThreshold(java.lang.String pId,
                          java.lang.String pLocationId)
                            throws InventoryException
queryPreorderThreshold in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic long queryStockLevel(java.lang.String pId,
                   java.lang.String pLocationId)
                     throws InventoryException
queryStockLevel in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic long queryPreorderLevel(java.lang.String pId,
                      java.lang.String pLocationId)
                        throws InventoryException
queryPreorderLevel in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic long queryBackorderLevel(java.lang.String pId,
                       java.lang.String pLocationId)
                         throws InventoryException
queryBackorderLevel in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the numberpublic int queryAvailabilityStatus(java.lang.String pId,
                          java.lang.String pLocationId)
                            throws InventoryException
queryAvailabilityStatus in interface LocationInventoryManagerpId - The id of the item involved.pLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the status of the itempublic java.util.Date queryAvailabilityDate(java.lang.String pId,
                                   java.lang.String pLocationId)
                                     throws InventoryException
queryAvailabilityDate in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryException - if there was a problem determining the datepublic int inventoryWasUpdated(java.util.List pItemIds,
                      java.lang.String pLocationId)
                        throws InventoryException
inventoryWasUpdated in interface LocationInventoryManagerpItemIds - The items with recently added inventorypLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic void acquireInventoryLocks(java.util.List pItemIds,
                         java.lang.String pLocationId)
                           throws InventoryException
acquireInventoryLocks in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic void releaseInventoryLocks(java.util.List pItemIds,
                         java.lang.String pLocationId)
                           throws InventoryException
releaseInventoryLocks in interface LocationInventoryManagerpLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds, java.lang.String pLocationId) throws InventoryException
LocationInventoryManagerqueryInventoryInformation in interface LocationInventoryManagerpItemIds - The items to find inventory information for.pLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic java.util.Collection<InventoryInfo> queryInventoryInformation(java.lang.String pId, java.util.Collection<java.lang.String> pLocationIds) throws InventoryException
LocationInventoryManagerqueryInventoryInformation in interface LocationInventoryManagerpId - The item Id to find inventory info forpLocationIds - The locations to find inventory information for.InventoryExceptionpublic java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds, java.util.Collection<java.lang.String> pLocationIds) throws InventoryException
LocationInventoryManagerqueryInventoryInformation in interface LocationInventoryManagerpItemIds - The items to find inventory information for.pLocationIds - The locations to find inventory information for.InventoryExceptionpublic InventoryInfo queryInventoryInformation(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
LocationInventoryManagerqueryInventoryInformation in interface LocationInventoryManagerpId - The item Id to find inventory info forpLocationId - the location of the inventory (null is default warehouse)InventoryExceptionpublic AvailableToPromise queryAvailableToPromise(java.lang.String pItemId, java.lang.String pLocationId) throws InventoryException
LocationInventoryManagerqueryAvailableToPromise in interface LocationInventoryManagerpItemId - The item to find the ATP information forpLocationId - The location to find ATP information for.InventoryExceptionpublic void flushCache()
public void flushCache(java.util.List pItemIds)
pItemIds - The list of ids whose entries should be invalidatedpublic void flushCache(java.util.List<java.lang.String> pItemIds,
              java.util.List<java.lang.String> pLocationIds)
pItemIds - the item ids to flushpLocationIds - the locations to flushpublic void flushCache(java.util.List pItemIds,
              java.lang.String pLocationId)
pItemIds - the item ids to flush (null is all items)pLocationId - the location to flush items forprotected java.lang.String getKey(java.lang.String pId)
pId - the item idprotected java.lang.String getKey(java.lang.String pId,
                      java.lang.String pLocationId)
pId - the item idpLocationId - the locationpublic int purchase(java.lang.String pId,
           long pHowMany)
             throws InventoryException
InventoryManagerpurchase in interface InventoryManagerpId - the id of the item involvedInventoryException - if there was a problem during the purchase process.public int purchaseOffBackorder(java.lang.String pId,
                       long pHowMany)
                         throws InventoryException
InventoryManagerpurchaseOffBackorder in interface InventoryManagerpId - the id of the item involvedInventoryException - if there was a problem during the purchase process.public int purchaseOffPreorder(java.lang.String pId,
                      long pHowMany)
                        throws InventoryException
InventoryManagerpurchaseOffPreorder in interface InventoryManagerpId - the id of the item involvedInventoryException - if there was a problem during the purchase process.public int preorder(java.lang.String pId,
           long pHowMany)
             throws InventoryException
InventoryManagerpreorder in interface InventoryManagerpId - the id of the item involvedInventoryException - if there was a problem in trying to preorder the itempublic int backorder(java.lang.String pId,
            long pHowMany)
              throws InventoryException
InventoryManagerbackorder in interface InventoryManagerpId - the id of the item involvedInventoryException - if there was a problem with the backordering process.public int setStockLevel(java.lang.String pId,
                long pNumber)
                  throws InventoryException
InventoryManagersetStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int setBackorderLevel(java.lang.String pId,
                    long pNumber)
                      throws InventoryException
InventoryManagersetBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int setPreorderLevel(java.lang.String pId,
                   long pNumber)
                     throws InventoryException
InventoryManagersetPreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int increaseStockLevel(java.lang.String pId,
                     long pNumber)
                       throws InventoryException
InventoryManagerincreaseStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelInventoryException - if there was a problem trying to restockpublic int decreaseStockLevel(java.lang.String pId,
                     long pNumber)
                       throws InventoryException
InventoryManagerdecreaseStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelInventoryException - if there was a problem trying to restockpublic int increaseBackorderLevel(java.lang.String pId,
                         long pNumber)
                           throws InventoryException
InventoryManagerincreaseBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelInventoryException - if there was a problem trying to restockpublic int decreaseBackorderLevel(java.lang.String pId,
                         long pNumber)
                           throws InventoryException
InventoryManagerdecreaseBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelInventoryException - if there was a problem trying to restockpublic int increasePreorderLevel(java.lang.String pId,
                        long pNumber)
                          throws InventoryException
InventoryManagerincreasePreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock levelInventoryException - if there was a problem trying to restockpublic int decreasePreorderLevel(java.lang.String pId,
                        long pNumber)
                          throws InventoryException
InventoryManagerdecreasePreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock levelInventoryException - if there was a problem trying to restockpublic int setStockThreshold(java.lang.String pId,
                    long pNumber)
                      throws InventoryException
InventoryManagersetStockThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int setBackorderThreshold(java.lang.String pId,
                        long pNumber)
                          throws InventoryException
InventoryManagersetBackorderThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int setPreorderThreshold(java.lang.String pId,
                       long pNumber)
                         throws InventoryException
InventoryManagersetPreorderThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restockInventoryException - if there was a problem trying to restockpublic int setAvailabilityStatus(java.lang.String pId,
                        int pStatus)
                          throws InventoryException
InventoryManagersetAvailabilityStatus in interface InventoryManagerpId - the id of the item involvedpStatus - the new status (one of AVAILABILITY_STATUS_IN_STOCK, 
                                       AVAILABILITY_STATUS_BACKORDERABLE,
                                       AVAILABILITY_STATUS_PREORDERABLE,
                                       AVAILABILITY_STATUS_OUT_OF_STOCK,
                                       AVAILABILITY_STATUS_DISCONTINUED,
                                    or AVAILABILITY_STATUS_DERIVED)InventoryExceptionpublic int setAvailabilityDate(java.lang.String pId,
                      java.util.Date pDate)
                        throws InventoryException
InventoryManagersetAvailabilityDate in interface InventoryManagerpId - the id of the item involvedpDate - The new availability date for the item.InventoryExceptionpublic int queryAvailabilityStatus(java.lang.String pId)
                            throws InventoryException
InventoryManagerqueryAvailabilityStatus in interface InventoryManagerpId - The id of the item involved.InventoryException - if there was a problem determining the status of the itempublic long queryStockLevel(java.lang.String pId)
                     throws InventoryException
InventoryManagerqueryStockLevel in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic long queryBackorderLevel(java.lang.String pId)
                         throws InventoryException
InventoryManagerqueryBackorderLevel in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic long queryPreorderLevel(java.lang.String pId)
                        throws InventoryException
InventoryManagerqueryPreorderLevel in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic long queryPreorderThreshold(java.lang.String pId)
                            throws InventoryException
InventoryManagerqueryPreorderThreshold in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic java.util.Date queryAvailabilityDate(java.lang.String pId)
                                     throws InventoryException
InventoryManagerqueryAvailabilityDate in interface InventoryManagerInventoryException - if there was a problem determining the datepublic long queryStockThreshold(java.lang.String pId)
                         throws InventoryException
InventoryManagerqueryStockThreshold in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic long queryBackorderThreshold(java.lang.String pId)
                             throws InventoryException
InventoryManagerqueryBackorderThreshold in interface InventoryManagerInventoryException - if there was a problem determining the numberpublic int inventoryWasUpdated(java.util.List pItemIds)
                        throws InventoryException
InventoryManagerinventoryWasUpdated in interface InventoryManagerpItemIds - The items with recently added inventoryInventoryExceptionpublic void acquireInventoryLocks(java.util.List pItemIds)
                           throws InventoryException
InventoryManageracquireInventoryLocks in interface InventoryManagerInventoryExceptionpublic void releaseInventoryLocks(java.util.List pItemIds)
                           throws InventoryException
InventoryManagerreleaseInventoryLocks in interface InventoryManagerInventoryException