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

All Superinterfaces:
BaseProcessor
All Known Subinterfaces:
FulfillmentGroupOfferProcessor, ItemOfferProcessor
All Known Implementing Classes:
FulfillmentGroupOfferProcessorImpl, ItemOfferProcessorImpl, OrderOfferProcessorImpl

public interface OrderOfferProcessor
extends BaseProcessor

Author:
jfischer

Method Summary
 boolean applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers, PromotableOrder order)
          Takes a list of sorted CandidateOrderOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer.
 void compileOrderTotal(PromotableOrder order)
           
 boolean couldOfferApplyToOrder(Offer offer, PromotableOrder order)
          Executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup.
 Boolean executeExpression(String expression, Map<String,Object> vars)
           
 void filterOrderLevelOffer(PromotableOrder order, List<PromotableCandidateOrderOffer> qualifiedOrderOffers, Offer offer)
           
 OfferDao getOfferDao()
           
 OrderItemMergeService getOrderItemMergeService()
           
 PromotableItemFactory getPromotableItemFactory()
           
 List<PromotableCandidateOrderOffer> removeTrailingNotCombinableOrderOffers(List<PromotableCandidateOrderOffer> candidateOffers)
           
 void setOfferDao(OfferDao offerDao)
           
 void setOrderItemMergeService(OrderItemMergeService orderItemMergeService)
           
 void setPromotableItemFactory(PromotableItemFactory promotableItemFactory)
           
 
Methods inherited from interface org.broadleafcommerce.core.offer.service.processor.BaseProcessor
clearOffersandAdjustments, filterOffers
 

Method Detail

filterOrderLevelOffer

void filterOrderLevelOffer(PromotableOrder order,
                           List<PromotableCandidateOrderOffer> qualifiedOrderOffers,
                           Offer offer)

getOfferDao

OfferDao getOfferDao()

setOfferDao

void setOfferDao(OfferDao offerDao)

executeExpression

Boolean executeExpression(String expression,
                          Map<String,Object> vars)

couldOfferApplyToOrder

boolean couldOfferApplyToOrder(Offer offer,
                               PromotableOrder order)
Executes the appliesToOrderRules in the Offer to determine if this offer can be applied to the Order, OrderItem, or FulfillmentGroup.

Parameters:
offer -
order -
Returns:
true if offer can be applied, otherwise false

removeTrailingNotCombinableOrderOffers

List<PromotableCandidateOrderOffer> removeTrailingNotCombinableOrderOffers(List<PromotableCandidateOrderOffer> candidateOffers)

applyAllOrderOffers

boolean applyAllOrderOffers(List<PromotableCandidateOrderOffer> orderOffers,
                            PromotableOrder order)
Takes a list of sorted CandidateOrderOffers and determines if each offer can be applied based on the restrictions (stackable and/or combinable) on that offer. OrderAdjustments are create on the Order for each applied CandidateOrderOffer. An offer with stackable equals false cannot be applied to an Order that already contains an OrderAdjustment. An offer with combinable equals false cannot be applied to the Order if the Order already contains an OrderAdjustment.

Parameters:
orderOffers - a sorted list of CandidateOrderOffer
order - the Order to apply the CandidateOrderOffers
Returns:
true if order offer applied; otherwise false

compileOrderTotal

void compileOrderTotal(PromotableOrder order)

getPromotableItemFactory

PromotableItemFactory getPromotableItemFactory()

setPromotableItemFactory

void setPromotableItemFactory(PromotableItemFactory promotableItemFactory)

getOrderItemMergeService

OrderItemMergeService getOrderItemMergeService()

setOrderItemMergeService

void setOrderItemMergeService(OrderItemMergeService orderItemMergeService)


Copyright © 2012. All Rights Reserved.