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(java.util.List<CandidateItemOffer> itemOffers, java.util.List<DiscreteOrderItem> discreteOrderItems, Order 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(Order order, java.util.List<CandidateOrderOffer> qualifiedOrderOffers, java.util.List<CandidateItemOffer> qualifiedItemOffers, java.util.List<DiscreteOrderItem> discreteOrderItems)
           
 void filterItemLevelOffer(Order order, java.util.List<CandidateItemOffer> qualifiedItemOffers, java.util.List<DiscreteOrderItem> discreteOrderItems, Offer offer)
          Review an item level offer against the list of discountable items from the order.
 java.util.List<DiscreteOrderItem> filterOffers(Order order, java.util.List<Offer> filteredOffers, java.util.List<CandidateOrderOffer> qualifiedOrderOffers, java.util.List<CandidateItemOffer> qualifiedItemOffers)
           
 
Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.OrderOfferProcessor
applyAllOrderOffers, compileOrderTotal, couldOfferApplyToOrder, executeExpression, filterOrderLevelOffer, gatherCart, getAllSplitItems, getCartService, getFulfillmentGroupItemDao, getOfferDao, getOrderItemService, initializeSplitItems, removeTrailingNotCombinableOrderOffers, setCartService, setFulfillmentGroupItemDao, setOfferDao, setOrderItemService
 
Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.BaseProcessor
clearOffersandAdjustments, filterOffers
 

Method Detail

filterItemLevelOffer

void filterItemLevelOffer(Order order,
                          java.util.List<CandidateItemOffer> qualifiedItemOffers,
                          java.util.List<DiscreteOrderItem> discreteOrderItems,
                          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(java.util.List<CandidateItemOffer> itemOffers,
                           java.util.List<DiscreteOrderItem> discreteOrderItems,
                           Order 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(Order order,
                                       java.util.List<CandidateOrderOffer> qualifiedOrderOffers,
                                       java.util.List<CandidateItemOffer> qualifiedItemOffers,
                                       java.util.List<DiscreteOrderItem> discreteOrderItems)

filterOffers

java.util.List<DiscreteOrderItem> filterOffers(Order order,
                                               java.util.List<Offer> filteredOffers,
                                               java.util.List<CandidateOrderOffer> qualifiedOrderOffers,
                                               java.util.List<CandidateItemOffer> qualifiedItemOffers)


Copyright © 2011. All Rights Reserved.