@Service(value="blOfferServiceExtensionManager") public class OfferServiceExtensionManager extends ExtensionManager<OfferServiceExtensionHandler> implements OfferServiceExtensionHandler
Modifier and Type | Field and Description |
---|---|
static ExtensionManagerOperation |
addAdditionalOffersForCode |
static ExtensionManagerOperation |
applyAdditionalFilters |
static ExtensionManagerOperation |
applyAdditionalRuleVariablesForItemOfferEvaluation |
static ExtensionManagerOperation |
applyItemOffer |
static ExtensionManagerOperation |
buildOfferCodeListForCustomer |
static ExtensionManagerOperation |
calculatePotentialSavings |
static ExtensionManagerOperation |
chooseSaleOrRetailAdjustments |
static ExtensionManagerOperation |
createOrderItemPriceDetailAdjustment |
static ExtensionManagerOperation |
removeOfferCodeFromOrder |
static ExtensionManagerOperation |
resetPriceDetails |
static String |
STOP_PROCESSING |
static ExtensionManagerOperation |
synchronizeAdjustmentsAndPrices |
extensionHandler, handlers, handlersSorted, LOCK_OBJECT
Constructor and Description |
---|
OfferServiceExtensionManager() |
Modifier and Type | Method and Description |
---|---|
ExtensionResultStatusType |
addAdditionalOffersForCode(List<Offer> offers,
OfferCode offerCode)
Allows module extensions to add additional offers for a given offer code.
|
ExtensionResultStatusType |
applyAdditionalFilters(List<Offer> offers,
Order order) |
ExtensionResultStatusType |
applyAdditionalRuleVariablesForItemOfferEvaluation(PromotableOrderItem orderItem,
HashMap<String,Object> vars)
Allows a module to append additional rule variables that may be needed for order item evaluation
|
ExtensionResultStatusType |
applyItemOffer(PromotableOrder order,
PromotableCandidateItemOffer itemOffer,
Map<String,Object> contextMap)
Modules may need to extend the applyItemOffer logic
For example, a subscription module might creates future payment adjustments.
|
ExtensionResultStatusType |
buildOfferCodeListForCustomer(Customer customer,
List<OfferCode> offerCodes)
Allows module extension to add additional offer codes to the list, given the customer
|
ExtensionResultStatusType |
calculatePotentialSavings(PromotableCandidateItemOffer itemOffer,
PromotableOrderItem item,
int quantity,
Map<String,Object> contextMap)
Modules may extend the calculatePotentialSavings method.
|
ExtensionResultStatusType |
chooseSaleOrRetailAdjustments(PromotableOrder order)
Allows a module to finalize adjustments.
|
ExtensionResultStatusType |
createOrderItemPriceDetailAdjustment(ExtensionResultHolder<?> resultHolder,
OrderItemPriceDetail itemDetail)
Allows module extensions to add a create a new instance of OrderItemPriceDetailAdjustment.
|
boolean |
isEnabled()
If false, the ExtensionManager should skip this Handler.
|
ExtensionResultStatusType |
removeOfferCodeFromOrder(OfferCode offerCode,
Order order) |
ExtensionResultStatusType |
resetPriceDetails(PromotableOrderItem item)
Modules may need to clear additional offer details when resetPriceDetails is called.
|
ExtensionResultStatusType |
synchronizeAdjustmentsAndPrices(PromotableOrder order)
Allows a module to amend the data that synchronizes the
PromotableOrder with the Order |
continueOnHandled, execute, getHandlers, getPriority, getProxy, invoke, registerHandler, setHandlers, shouldContinue, sortHandlers
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPriority
public static final String STOP_PROCESSING
public static final ExtensionManagerOperation applyAdditionalFilters
public static final ExtensionManagerOperation buildOfferCodeListForCustomer
public static final ExtensionManagerOperation calculatePotentialSavings
public static final ExtensionManagerOperation resetPriceDetails
public static final ExtensionManagerOperation applyItemOffer
public static final ExtensionManagerOperation synchronizeAdjustmentsAndPrices
public static final ExtensionManagerOperation chooseSaleOrRetailAdjustments
public static final ExtensionManagerOperation createOrderItemPriceDetailAdjustment
public static final ExtensionManagerOperation applyAdditionalRuleVariablesForItemOfferEvaluation
public static final ExtensionManagerOperation addAdditionalOffersForCode
public static final ExtensionManagerOperation removeOfferCodeFromOrder
public ExtensionResultStatusType applyAdditionalFilters(List<Offer> offers, Order order)
applyAdditionalFilters
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType buildOfferCodeListForCustomer(Customer customer, List<OfferCode> offerCodes)
OfferServiceExtensionHandler
buildOfferCodeListForCustomer
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType calculatePotentialSavings(PromotableCandidateItemOffer itemOffer, PromotableOrderItem item, int quantity, Map<String,Object> contextMap)
OfferServiceExtensionHandler
calculatePotentialSavings
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType resetPriceDetails(PromotableOrderItem item)
OfferServiceExtensionHandler
resetPriceDetails
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType applyItemOffer(PromotableOrder order, PromotableCandidateItemOffer itemOffer, Map<String,Object> contextMap)
OfferServiceExtensionHandler
applyItemOffer
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType synchronizeAdjustmentsAndPrices(PromotableOrder order)
OfferServiceExtensionHandler
PromotableOrder
with the Order
synchronizeAdjustmentsAndPrices
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType chooseSaleOrRetailAdjustments(PromotableOrder order)
OfferServiceExtensionHandler
chooseSaleOrRetailAdjustments
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType createOrderItemPriceDetailAdjustment(ExtensionResultHolder<?> resultHolder, OrderItemPriceDetail itemDetail)
OfferServiceExtensionHandler
createOrderItemPriceDetailAdjustment
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType applyAdditionalRuleVariablesForItemOfferEvaluation(PromotableOrderItem orderItem, HashMap<String,Object> vars)
OfferServiceExtensionHandler
applyAdditionalRuleVariablesForItemOfferEvaluation
in interface OfferServiceExtensionHandler
orderItem
- - the promotable order item in considerationvars
- - the rule mappublic ExtensionResultStatusType addAdditionalOffersForCode(List<Offer> offers, OfferCode offerCode)
OfferServiceExtensionHandler
addAdditionalOffersForCode
in interface OfferServiceExtensionHandler
public ExtensionResultStatusType removeOfferCodeFromOrder(OfferCode offerCode, Order order)
removeOfferCodeFromOrder
in interface OfferServiceExtensionHandler
public boolean isEnabled()
ExtensionHandler
isEnabled
in interface ExtensionHandler
Copyright © 2022. All rights reserved.