public interface InventoryServiceExtensionHandler extends ExtensionHandler
ContextualInventoryService. Usually, implementers
will want to only override the ContextualInventoryService methods rather than all of the methods included
in InventoryService and so you will extend from AbstractInventoryServiceExtensionHandler.ContextualInventoryService},
AbstractInventoryServiceExtensionHandler}| Modifier and Type | Method and Description |
|---|---|
ExtensionResultStatusType |
decrementInventory(Map<Sku,Integer> skuQuantities,
Map<String,Object> context)
Usually invoked within the
DecrementInventoryActivity to decrement inventory for the Skus that are in
skuQuantities |
ExtensionResultStatusType |
incrementInventory(Map<Sku,Integer> skuQuantities,
Map<String,Object> context) |
ExtensionResultStatusType |
isBlockingAvailabilityOfProduct(Product baseProduct,
Product product,
ExtensionResultHolder<Boolean> holder)
This determines if the missing quantity is critical (blocking) to be added to the cart
Usually invoked via the UncacheableDataProcessor to determine the availability of product.
|
ExtensionResultStatusType |
isProductBundleAvailable(Product product,
int quantity,
ExtensionResultHolder<Boolean> holder)
Usually invoked via the AdvancedProduct to determine the availability of product bundle.
|
ExtensionResultStatusType |
reconcileChangeOrderInventory(Map<Sku,Integer> decrementSkuQuantities,
Map<Sku,Integer> incrementSkuQuantities,
Map<String,Object> context)
Usually invoked via the OMS
ReconcileInventoryChangeOrderActivity to determine how to handle a change order. |
ExtensionResultStatusType |
retrieveQuantitiesAvailable(Collection<Sku> skus,
Map<String,Object> context,
ExtensionResultHolder<Map<Sku,Integer>> result)
Usually invoked within the
CheckAddAvailabilityActivity to retrieve the quantity that is available for the given
skus. |
getPriority, isEnabledExtensionResultStatusType retrieveQuantitiesAvailable(Collection<Sku> skus, Map<String,Object> context, ExtensionResultHolder<Map<Sku,Integer>> result)
CheckAddAvailabilityActivity to retrieve the quantity that is available for the given
skus.context - can be null. If not null, this should at least contain the ContextualInventoryService.ORDER_KEYContextualInventoryService#retrieveQuantitiesAvailable(Set, Map)}ExtensionResultStatusType decrementInventory(Map<Sku,Integer> skuQuantities, Map<String,Object> context) throws InventoryUnavailableException
DecrementInventoryActivity to decrement inventory for the Skus that are in
skuQuantitiescontext - can be null. If not null, this should at least contain the ContextualInventoryService.ORDER_KEY and/or the
ContextualInventoryService.ROLLBACK_STATE_KEYInventoryUnavailableExceptionContextualInventoryService#decrementInventory(Map, Map)}ExtensionResultStatusType incrementInventory(Map<Sku,Integer> skuQuantities, Map<String,Object> context)
context - can be null. If not null, this should at least contain the ContextualInventoryService.ROLLBACK_STATE_KEYContextualInventoryService#incrementInventory(Map, Map)}ExtensionResultStatusType reconcileChangeOrderInventory(Map<Sku,Integer> decrementSkuQuantities, Map<Sku,Integer> incrementSkuQuantities, Map<String,Object> context) throws InventoryUnavailableException
ReconcileInventoryChangeOrderActivity to determine how to handle a change order.decrementSkuQuantities - incrementSkuQuantities - context - InventoryUnavailableExceptionExtensionResultStatusType isProductBundleAvailable(Product product, int quantity, ExtensionResultHolder<Boolean> holder)
product - contains Productquantity - holder - ExtensionResultStatusType isBlockingAvailabilityOfProduct(Product baseProduct, Product product, ExtensionResultHolder<Boolean> holder)
baseProduct - base product with add-onsproduct - one of the add-on products of the base productholder - holder for resultCopyright © 2022. All rights reserved.