atg.commerce.csr.pricing.calculators
Class ExchangeOrderDiscountCalculator
java.lang.Object
   atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
       atg.nucleus.GenericService
atg.nucleus.GenericService
           atg.commerce.pricing.DiscountCalculatorService
atg.commerce.pricing.DiscountCalculatorService
               atg.commerce.pricing.OrderDiscountCalculator
atg.commerce.pricing.OrderDiscountCalculator
                   atg.commerce.csr.pricing.calculators.ExchangeOrderDiscountCalculator
atg.commerce.csr.pricing.calculators.ExchangeOrderDiscountCalculator
- All Implemented Interfaces: 
- OrderPricingCalculator, atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener
- public class ExchangeOrderDiscountCalculator 
- extends OrderDiscountCalculator
This calculator is used to apply order promotions to an exchange order.
 
 The order promotions that are applied are those that have been applied to the promotion evaluation order.
 The value of each order promotion is a pre-calcuated and stored in the ReturnRequest. 
 
 This calculator overrides getAdjuster to return the pre-calcuated value of the promotion. It also
 overrides getDicountType to always return the Constants.AMOUNT_OFF type. 
 
- See Also:
- getAdjuster(RepositoryItem, Map),- getDiscountType(RepositoryItem, Map)
 
 
 
| Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging | 
| DEFAULT_LOG_TRACE_STATUS | 
 
 
 
| Method Summary | 
| protected  MatchingObject | findMatchingObject(OrderPriceInfo pPriceQuote,
                   java.util.List pPriceQuotes,
                   java.util.List pItems,
                   RepositoryItem pPricingModel,
                   RepositoryItem pProfile,
                   java.util.Locale pLocale,
                   Order pOrder,
                   java.util.Map pExtraParameters)Overrides the base behavior to unconditionally return a MatchingObject.
 | 
| protected  double | getAdjuster(RepositoryItem pPricingModel,
            java.util.Map pExtraParameters)Overrides the base behavior to return the pre-calculated value for the promotion 
 that's stored in the ReturnRequest
 | 
| protected  java.lang.String | getDiscountType(RepositoryItem pPricingModel,
                java.util.Map pExtraParameters)Overrides the base behavior to always return the amount off type
 | 
|  ReturnManager | getReturnManager()
 | 
|  void | priceOrder(OrderPriceInfo pPriceQuote,
           Order pOrder,
           RepositoryItem pPricingModel,
           java.util.Locale pLocale,
           RepositoryItem pProfile,
           java.util.Map pExtraParameters)Overrides the based behavior to look for a return request passed through the extra parameters map.
 | 
|  void | setReturnManager(ReturnManager pReturnManager)Sets the ReturnManager
 | 
 
| Methods inherited from class atg.commerce.pricing.OrderDiscountCalculator | 
| adjustOrderSubTotal, adjustShippingGroupSubtotalPriceInfos, applyAdjustmentToNonTaxablePriceInfo, applyAdjustmentToSubtotalPriceInfo, applyAdjustmentToTaxablePriceInfo, computeGroupSubtotal, computeGroupSubtotal, computeGroupSubtotal, createCurrentShareMap, doStartService, getAmountToDiscount, getAmountToDiscount, getDetailsToReceiveDiscountShare, getItemsToReceiveDiscountShare, getNonDiscountableTotal, getNonTaxableShippingGroupTotal, getPricingTools, getTaxableShippingGroupTotal, getTotalForShippingGroups, getTotalShareValueForShippingGroup, isSaveDetailsOrderDiscountShare, isSaveItemsOrderDiscountShare, setPricingTools, setSaveDetailsOrderDiscountShare, setSaveItemsOrderDiscountShare, updateItemsDiscountShare, updateItemsDiscountShare, updateShippingItemsSubtotalMaps | 
 
| Methods inherited from class atg.commerce.pricing.DiscountCalculatorService | 
| adjust, adjustAmount, getDiscountType, getPricingModelProperties, getPromotionTools, getQualifierService, getQualifierService, isNegativeAmountException, setNegativeAmountException, setPricingModelProperties, setPromotionTools, setQualifierService | 
 
| Methods inherited from class atg.nucleus.GenericService | 
| addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService | 
 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
CLASS_VERSION
public static final java.lang.String CLASS_VERSION
- See Also:
- Constant Field Values
mReturnManager
protected ReturnManager mReturnManager
ExchangeOrderDiscountCalculator
public ExchangeOrderDiscountCalculator()
setReturnManager
public void setReturnManager(ReturnManager pReturnManager)
- Sets the ReturnManager
 
- 
- Parameters:
- pReturnTools- the ReturnManagers
 
getReturnManager
public ReturnManager getReturnManager()
- 
- Returns:
- the ReturnManager
 
priceOrder
public void priceOrder(OrderPriceInfo pPriceQuote,
                       Order pOrder,
                       RepositoryItem pPricingModel,
                       java.util.Locale pLocale,
                       RepositoryItem pProfile,
                       java.util.Map pExtraParameters)
                throws PricingException
- Overrides the based behavior to look for a return request passed through the extra parameters map. If one is 
 found and the given order is the return's replacement order, it calls super for each order promotion
 applied to the promotion evaluation order.
 
- 
- Specified by:
- priceOrderin interface- OrderPricingCalculator
- Overrides:
- priceOrderin class- OrderDiscountCalculator
 
- 
- Parameters:
- pPriceQuote- OrderPriceInfo representing the current price quote for the order
- pOrder- The order to price
- pPricingModel- A RepositoryItems representing a PricingModel
- pProfile- The user's profile
- pExtraParameters- A Map of extra parameters to be used in the pricing, may be null
- Throws:
- PricingException
- See Also:
- OrderDiscountCalculator.updateItemsDiscountShare(Order, double, double, double, String, long),- OrderDiscountCalculator.adjustShippingGroupSubtotalPriceInfos(String, OrderPriceInfo, Order, Locale, RepositoryItem, Map, Map, Map)
 
getAdjuster
protected double getAdjuster(RepositoryItem pPricingModel,
                             java.util.Map pExtraParameters)
                      throws PricingException
- Overrides the base behavior to return the pre-calculated value for the promotion 
 that's stored in the ReturnRequest
 
- 
- Overrides:
- getAdjusterin class- DiscountCalculatorService
 
- 
- Parameters:
- pPricingModel- RepositoryItem pricing model
- pExtraParameters- Map of optional extra parameters, may be null
- Returns:
- double adjuster to use
- Throws:
- PricingException- if the method fails to get a valid double adjuster
- See Also:
- ReturnRequest.getExchangeOrderPromotionValue()
 
getDiscountType
protected java.lang.String getDiscountType(RepositoryItem pPricingModel,
                                           java.util.Map pExtraParameters)
                                    throws PricingException
- Overrides the base behavior to always return the amount off type
 
- 
- Overrides:
- getDiscountTypein class- DiscountCalculatorService
 
- 
- Parameters:
- pPricingModel- RepositoryItem pricing model
- pExtraParameters- Map of optional extra parameters
- Returns:
- String discount type to use
- Throws:
- PricingException- if the method fails to determine a valid discount type.
- See Also:
- Constants.AMOUNT_OFF
 
findMatchingObject
protected MatchingObject findMatchingObject(OrderPriceInfo pPriceQuote,
                                            java.util.List pPriceQuotes,
                                            java.util.List pItems,
                                            RepositoryItem pPricingModel,
                                            RepositoryItem pProfile,
                                            java.util.Locale pLocale,
                                            Order pOrder,
                                            java.util.Map pExtraParameters)
                                     throws PricingException
- Overrides the base behavior to unconditionally return a MatchingObject. This is
 necessary since the order promotions applied by this calculator don't have to qualify against
 the current order through the Qualifier service.
 
- 
- Overrides:
- findMatchingObjectin class- OrderDiscountCalculator
 
- 
- Returns:
- 
- Throws:
- PricingException
- See Also:
- Qualifier.findQualifyingOrder(List, List, RepositoryItem, RepositoryItem, Locale, Order, OrderPriceInfo, ShippingGroup, ShippingPriceInfo, Map)