org.broadleafcommerce.core.offer.service.processor
Interface ItemOfferProcessor

All Superinterfaces:
BaseProcessor, OrderOfferProcessor
All Known Implementing Classes:
ItemOfferProcessorImpl

public interface ItemOfferProcessor
extends OrderOfferProcessor

Author:
jfischer

Method Summary
 boolean applyAllItemOffers(List<PromotableCandidateItemOffer> itemOffers, PromotableOrder order)
          Private method that takes a list of sorted CandidateItemOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer.
 void applyAndCompareOrderAndItemOffers(PromotableOrder order, List<PromotableCandidateOrderOffer> qualifiedOrderOffers, List<PromotableCandidateItemOffer> qualifiedItemOffers)
           
 void filterItemLevelOffer(PromotableOrder order, List<PromotableCandidateItemOffer> qualifiedItemOffers, Offer offer)
          Review an item level offer against the list of discountable items from the order.
 void filterOffers(PromotableOrder order, List<Offer> filteredOffers, List<PromotableCandidateOrderOffer> qualifiedOrderOffers, List<PromotableCandidateItemOffer> qualifiedItemOffers)
           
 
Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.OrderOfferProcessor
applyAllOrderOffers, compileOrderTotal, couldOfferApplyToOrder, executeExpression, filterOrderLevelOffer, gatherCart, getCartService, getFulfillmentGroupItemDao, getOfferDao, getOrderItemService, getPromotableItemFactory, initializeBundleSplitItems, initializeSplitItems, removeTrailingNotCombinableOrderOffers, setCartService, setFulfillmentGroupItemDao, setOfferDao, setOrderItemService, setPromotableItemFactory
 
Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.BaseProcessor
clearOffersandAdjustments, filterOffers
 

Method Detail

filterItemLevelOffer

void filterItemLevelOffer(PromotableOrder order,
                          List<PromotableCandidateItemOffer> qualifiedItemOffers,
                          Offer offer)
Review an item level offer against the list of discountable items from the order. If the offer applies, add it to the qualifiedItemOffers list.

Parameters:
order - the BLC order
qualifiedItemOffers - the container list for any qualified offers
discreteOrderItems - the order items to evaluate
offer - the offer in question

applyAllItemOffers

boolean applyAllItemOffers(List<PromotableCandidateItemOffer> itemOffers,
                           PromotableOrder order)
Private method that takes a list of sorted CandidateItemOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer. OrderItemAdjustments are create on the OrderItem for each applied CandidateItemOffer. An offer with stackable equals false cannot be applied to an OrderItem that already contains an OrderItemAdjustment. An offer with combinable equals false cannot be applied to an OrderItem if that OrderItem already contains an OrderItemAdjustment, unless the offer is the same offer as the OrderItemAdjustment offer.

Parameters:
itemOffers - a sorted list of CandidateItemOffer
Returns:
true if an OrderItemOffer was applied, otherwise false

applyAndCompareOrderAndItemOffers

void applyAndCompareOrderAndItemOffers(PromotableOrder order,
                                       List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
                                       List<PromotableCandidateItemOffer> qualifiedItemOffers)

filterOffers

void filterOffers(PromotableOrder order,
                  List<Offer> filteredOffers,
                  List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
                  List<PromotableCandidateItemOffer> qualifiedItemOffers)


Copyright © 2012. All Rights Reserved.