com.retek.component.customerorder.impl
Class PromotionGroup

java.lang.Object
  extended bycom.retek.component.customerorder.impl.PromotionGroup
Direct Known Subclasses:
AdditionalShippingPromotionGroup, GiftPromotionGroup, LineMerchPromotionGroup, MonogramPromotionGroup, OrderMerchPromotionGroup, PersonalizationPromotionGroup, PlanCodePromotionGroup, PromotionItemGroup, SellingListPromotionGroup, StandardShippingPromotionGroup

public abstract class PromotionGroup
extends java.lang.Object


Nested Class Summary
 class PromotionGroup.DistributablePromotionDiscount
           
 
Constructor Summary
protected PromotionGroup(User user, CustomerOrder order, CustomerOrderApplyPromotionsHelper promotionsHelper)
           
 
Method Summary
 void addPromotion(Promotion promotion)
           
protected  void applyDiscount(Money discountableAmount, Promotion promotion, Money valueOff)
           
protected  Money applyDiscountToOrderLine(CustomerOrderLineImpl orderLine, PromotionGroup.DistributablePromotionDiscount distributableDiscount, Money prevAmount, Money currentCharge, Money discountableAmount)
           
protected  Money applyDiscountToServiceLine(CustomerOrderServiceLineImpl serviceLine, PromotionGroup.DistributablePromotionDiscount distributableDiscount, Money prevAmount, Money currentCharge, Money discountableAmount)
           
protected  CustomerOrderPromotionDiscountImpl buildLinePromotionDiscount(PromotionGroup.DistributablePromotionDiscount distributableDiscount, Money valueOff, DistributedContext context)
           
protected  void distributeDollarOffAndPercentOffBenefits(java.util.Set currentPromotions)
           
protected  void distributeDollarOffBenefits(java.util.Set dollarOffPromotions)
           
protected  void distributePercentOffBenefits(java.util.Set percentOffPromotions)
           
protected abstract  void doApplyDiscountToOrder(PromotionGroup.DistributablePromotionDiscount discount, Money discountableAmount)
           
protected abstract  Money getDiscountableAmount(Promotion promotion)
           
protected  java.util.Set getDiscountableOrderLines()
           
protected  CustomerOrderImpl getOrder()
           
protected  PromotionBenefit getPromotionBenefit(Promotion promotion)
           
protected  java.util.Set getPromotions()
           
protected  CustomerOrderApplyPromotionsHelper getPromotionsHelper()
           
protected  User getUser()
           
protected  boolean isApplicableForPromotionDiscounts(CustomerOrderLine orderLine)
           
protected  boolean isDiscountable(CustomerOrderLine orderLine)
           
protected  Money reapplyLockedDiscountsForOrderLine(Promotion promotion, CustomerOrderLineImpl orderLine, boolean includeServiceLines)
           
protected  Money reapplyLockedDiscountsForServiceLine(Promotion promotion, CustomerOrderServiceLineImpl serviceLine)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PromotionGroup

protected PromotionGroup(User user,
                         CustomerOrder order,
                         CustomerOrderApplyPromotionsHelper promotionsHelper)
Method Detail

addPromotion

public void addPromotion(Promotion promotion)

getOrder

protected CustomerOrderImpl getOrder()

getPromotionsHelper

protected CustomerOrderApplyPromotionsHelper getPromotionsHelper()

getUser

protected User getUser()

getPromotions

protected java.util.Set getPromotions()
                               throws SystemException,
                                      BusinessException
Throws:
SystemException
BusinessException

getDiscountableOrderLines

protected final java.util.Set getDiscountableOrderLines()
                                                 throws SystemException
Throws:
SystemException

isDiscountable

protected final boolean isDiscountable(CustomerOrderLine orderLine)
                                throws SystemException
Throws:
SystemException

isApplicableForPromotionDiscounts

protected final boolean isApplicableForPromotionDiscounts(CustomerOrderLine orderLine)
                                                   throws SystemException
Throws:
SystemException

getDiscountableAmount

protected abstract Money getDiscountableAmount(Promotion promotion)
                                        throws SystemException,
                                               BusinessException
Throws:
SystemException
BusinessException

distributeDollarOffAndPercentOffBenefits

protected final void distributeDollarOffAndPercentOffBenefits(java.util.Set currentPromotions)
                                                       throws SystemException,
                                                              BusinessException
Throws:
SystemException
BusinessException

distributeDollarOffBenefits

protected void distributeDollarOffBenefits(java.util.Set dollarOffPromotions)
                                    throws SystemException,
                                           BusinessException
Throws:
SystemException
BusinessException

distributePercentOffBenefits

protected void distributePercentOffBenefits(java.util.Set percentOffPromotions)
                                     throws SystemException,
                                            BusinessException
Throws:
SystemException
BusinessException

getPromotionBenefit

protected PromotionBenefit getPromotionBenefit(Promotion promotion)
                                        throws SystemException,
                                               BusinessException
Throws:
SystemException
BusinessException

applyDiscount

protected final void applyDiscount(Money discountableAmount,
                                   Promotion promotion,
                                   Money valueOff)
                            throws SystemException,
                                   BusinessException
Throws:
SystemException
BusinessException

doApplyDiscountToOrder

protected abstract void doApplyDiscountToOrder(PromotionGroup.DistributablePromotionDiscount discount,
                                               Money discountableAmount)
                                        throws BusinessException,
                                               SystemException
Throws:
BusinessException
SystemException

applyDiscountToOrderLine

protected final Money applyDiscountToOrderLine(CustomerOrderLineImpl orderLine,
                                               PromotionGroup.DistributablePromotionDiscount distributableDiscount,
                                               Money prevAmount,
                                               Money currentCharge,
                                               Money discountableAmount)
                                        throws SystemException,
                                               BusinessException
Throws:
SystemException
BusinessException

applyDiscountToServiceLine

protected final Money applyDiscountToServiceLine(CustomerOrderServiceLineImpl serviceLine,
                                                 PromotionGroup.DistributablePromotionDiscount distributableDiscount,
                                                 Money prevAmount,
                                                 Money currentCharge,
                                                 Money discountableAmount)
                                          throws SystemException,
                                                 BusinessException
Throws:
SystemException
BusinessException

reapplyLockedDiscountsForOrderLine

protected final Money reapplyLockedDiscountsForOrderLine(Promotion promotion,
                                                         CustomerOrderLineImpl orderLine,
                                                         boolean includeServiceLines)
                                                  throws SystemException
Throws:
SystemException

reapplyLockedDiscountsForServiceLine

protected final Money reapplyLockedDiscountsForServiceLine(Promotion promotion,
                                                           CustomerOrderServiceLineImpl serviceLine)
                                                    throws SystemException
Throws:
SystemException

buildLinePromotionDiscount

protected final CustomerOrderPromotionDiscountImpl buildLinePromotionDiscount(PromotionGroup.DistributablePromotionDiscount distributableDiscount,
                                                                              Money valueOff,
                                                                              DistributedContext context)
                                                                       throws SystemException,
                                                                              BusinessException
Throws:
SystemException
BusinessException


Copyright © 2004 Retek Inc. All Rights Reserved. - Generated at Fri, 10/22/2004 07:28