atg.commerce.csr.pricing.calculators
Class ExchangeItemAdjustmentCalculator

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.pricing.ItemPriceCalculator
              extended by atg.commerce.csr.pricing.calculators.ExchangeItemAdjustmentCalculator
All Implemented Interfaces:
ItemPriceSourceHandler, ItemPricingCalculator, 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 ExchangeItemAdjustmentCalculator
extends ItemPriceCalculator

This calculator is designed to run as a item pricing post calculator and adjust the price info of exchange items based on their corresponding items in the promotion evaluation order.

It extends the pricing operation for exchange items to copy price information from the corresponding items in the promotion evaluation order.

See Also:
priceItem(ReturnRequest, ItemPriceInfo, CommerceItem, Locale, RepositoryItem, Map)

Field Summary
static java.lang.String CLASS_VERSION
          Class version string
protected  ReturnTools mReturnTools
           
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
ExchangeItemAdjustmentCalculator()
           
 
Method Summary
 ReturnTools getReturnTools()
           
protected  void priceItem(double pPrice, ItemPriceInfo pPriceQuote, CommerceItem pItem, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Noop impl.
 void priceItem(ItemPriceInfo pPriceQuote, CommerceItem pItem, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          This method determines if a return request was passed as in extra parameter and will attempt to copy information from the corresponding item in the promotion evaluation order.
 void priceItem(ReturnRequest pReturnRequest, ItemPriceInfo pPriceQuote, CommerceItem pItem, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Copies over info from the corresponding item in the promotion evaluation order.
 void setReturnTools(ReturnTools pReturnTools)
          Sets the return tools
 
Methods inherited from class atg.commerce.pricing.ItemPriceCalculator
getItemPriceSource, getLoggingIdentifier, getPrice, getPricePropertyName, getPriceSource, getPriceSource, getPricingTools, isPriceFromCatalogRef, isRequirePriceValue, populateItemPriceSource, priceEachItem, priceItems, setLoggingIdentifier, setPriceFromCatalogRef, setPricePropertyName, setPricingTools, setRequirePriceValue, shouldConsumeSource
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, 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
 

Field Detail

CLASS_VERSION

public static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values

mReturnTools

protected ReturnTools mReturnTools
Constructor Detail

ExchangeItemAdjustmentCalculator

public ExchangeItemAdjustmentCalculator()
Method Detail

setReturnTools

public void setReturnTools(ReturnTools pReturnTools)
Sets the return tools

Parameters:
pReturnTools - the return tools

getReturnTools

public ReturnTools getReturnTools()
Returns:
the return tools

priceItem

protected void priceItem(double pPrice,
                         ItemPriceInfo pPriceQuote,
                         CommerceItem pItem,
                         RepositoryItem pPricingModel,
                         java.util.Locale pLocale,
                         RepositoryItem pProfile,
                         java.util.Map pExtraParameters)
                  throws PricingException
Noop impl.

Specified by:
priceItem in class ItemPriceCalculator
Parameters:
pPrice - the price as extracted from the item
pPriceQuote - ItemPriceInfo representing the current price quote for the item
pItem - The item to price
pPricingModel - A RepositoryItem 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

priceItem

public void priceItem(ItemPriceInfo pPriceQuote,
                      CommerceItem pItem,
                      RepositoryItem pPricingModel,
                      java.util.Locale pLocale,
                      RepositoryItem pProfile,
                      java.util.Map pExtraParameters)
               throws PricingException
This method determines if a return request was passed as in extra parameter and will attempt to copy information from the corresponding item in the promotion evaluation order.

Specified by:
priceItem in interface ItemPricingCalculator
Overrides:
priceItem in class ItemPriceCalculator
Parameters:
pPriceQuote - ItemPriceInfo representing the current price quote for the item
pItem - The item to price
pPricingModel - A RepositoryItem 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:
priceItem(ReturnRequest, ItemPriceInfo, CommerceItem, Locale, RepositoryItem, Map)

priceItem

public void priceItem(ReturnRequest pReturnRequest,
                      ItemPriceInfo pPriceQuote,
                      CommerceItem pItem,
                      java.util.Locale pLocale,
                      RepositoryItem pProfile,
                      java.util.Map pExtraParameters)
               throws PricingException
Copies over info from the corresponding item in the promotion evaluation order.

Parameters:
pReturnRequest - the current return request
pPriceQuote - the current item's price info
pItem - the current item being priced
pLocale - the locale originally passed to priceItem
pProfile - the profile originally passed to priceItem
pExtraParameters - the extra parameters map passed to priceItem
Throws:
PricingException
See Also:
ReturnTools.adjustExchangeItemPriceInfo(ReturnRequest, CommerceItem, ItemPriceInfo)