| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectatg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.GenericService
atg.commerce.pricing.PricingEngineService
atg.commerce.pricing.OrderPricingEngineImpl
public class OrderPricingEngineImpl
An OrderPricingEngine implementation which computes the price for an order. It accomplishes this task by invoking a series of OrderPricingCalculators which incrementally compute the order's price:
pPriceQuote before any pricing models are
      evaluated.
  pPriceQuote after any pricing models are
      evaluated.
 
OrderPriceInfo, 
OrderPricingCalculator| Field Summary | |
|---|---|
| static java.lang.String | CLASS_VERSIONClass version string | 
| Fields inherited from class atg.commerce.pricing.PricingEngineService | 
|---|
| EXTRA_PARAM_QUALIFIERSERVICE, mGlobalPromotions, mPricingCalculatorServices | 
| 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 | |
|---|---|
| OrderPricingEngineImpl() | |
| Method Summary | |
|---|---|
| protected  void | applyCalculator(java.lang.Object pCalc,
                OrderPriceInfo pOrderPriceQuote,
                PricingContext pPricingContext,
                java.util.Map pExtraParameters)Calls the supplied calculator service to price an Order. | 
| protected  java.util.Collection<RepositoryItem> | applyPromotions(java.util.Collection pPricingModels,
                OrderPriceInfo pOrderPriceQuote,
                PricingContext pPricingContext,
                java.util.Map pExtraParameters)Apply the pricing models (promotions) to the object being priced. | 
|  void | checkPromotionsForCloseness(OrderPriceInfo pPriceInfo,
                            Order pOrder,
                            java.util.Collection pPricingModels,
                            java.util.Locale pLocale,
                            RepositoryItem pProfile,
                            java.util.Map pExtraParameters)Check to see if the item qualifies under any of the pricingModels' "closenessQualifiers". | 
| protected  java.lang.String | getCurrencyCode(Order pOrder,
                java.util.Collection pPricingModels,
                java.util.Locale pLocale,
                RepositoryItem pProfile,
                java.util.Map pExtraParameters)Return the currency code that should be used in the context of this pricing request | 
|  OrderPricingCalculator[] | getPostCalculators()Returns property PostCalculators | 
|  OrderPricingCalculator[] | getPreCalculators()Returns property PreCalculators | 
|  java.util.Collection | getPricingModels(RepositoryItem pProfile)Returns a List of pricing models (e.g. | 
|  OrderPriceInfo | priceOrder(Order pOrder,
           java.util.Collection pPricingModels,
           java.util.Locale pLocale,
           RepositoryItem pProfile,
           java.util.Map pExtraParameters)Price an order within a context | 
|  void | setPostCalculators(OrderPricingCalculator[] pPostCalculators)Sets property PostCalculators | 
|  void | setPreCalculators(OrderPricingCalculator[] pPreCalculators)Sets property PreCalculators | 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
|---|
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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 | 
|---|
public static java.lang.String CLASS_VERSION
| Constructor Detail | 
|---|
public OrderPricingEngineImpl()
| Method Detail | 
|---|
public void setPreCalculators(OrderPricingCalculator[] pPreCalculators)
public OrderPricingCalculator[] getPreCalculators()
public void setPostCalculators(OrderPricingCalculator[] pPostCalculators)
public OrderPricingCalculator[] getPostCalculators()
public java.util.Collection getPricingModels(RepositoryItem pProfile)
getPricingModels in interface PricingEnginepProfile - The user's profile from which the engine will extract promotions
protected java.lang.String getCurrencyCode(Order pOrder,
                                           java.util.Collection pPricingModels,
                                           java.util.Locale pLocale,
                                           RepositoryItem pProfile,
                                           java.util.Map pExtraParameters)
                                    throws PricingException
PricingException - if an error occurs while attempting to determine the currency code
public OrderPriceInfo priceOrder(Order pOrder,
                                 java.util.Collection pPricingModels,
                                 java.util.Locale pLocale,
                                 RepositoryItem pProfile,
                                 java.util.Map pExtraParameters)
                          throws PricingException
priceOrder in interface OrderPricingEnginepOrder - The order to pricepPricingModels - A Collection of RepositoryItems representing PricingModelspLocale - The Locale to use for pricingpProfile - The user's profilepExtraParameters - A Map of extra parameters to be used in the pricing, may be null
PricingException - if an error occurs while attempting to price
protected java.util.Collection<RepositoryItem> applyPromotions(java.util.Collection pPricingModels,
                                                               OrderPriceInfo pOrderPriceQuote,
                                                               PricingContext pPricingContext,
                                                               java.util.Map pExtraParameters)
                                                        throws PricingException
pPricingModels - Collection of PricingModel itemspOrderPriceQuote - OrderPriceInfo for the Order being pricedpPricingContext - PricingContextpExtraParameters - Map of extra parameters, may be null
PricingException
protected void applyCalculator(java.lang.Object pCalc,
                               OrderPriceInfo pOrderPriceQuote,
                               PricingContext pPricingContext,
                               java.util.Map pExtraParameters)
                        throws PricingException
pCalc - OrderPricingCalculator to callpOrderPriceQuote - OrderPriceInfo for the OrderpPricingContext - PricingContextpExtraParameters - Map of extra parameters
PricingException
public void checkPromotionsForCloseness(OrderPriceInfo pPriceInfo,
                                        Order pOrder,
                                        java.util.Collection pPricingModels,
                                        java.util.Locale pLocale,
                                        RepositoryItem pProfile,
                                        java.util.Map pExtraParameters)
                                 throws PricingException
pPriceInfo - The OrderPriceInfo object associated with the order.pOrder - The item to checkpPricingModels - A Collection of RepositoryItems representing PricingModelspLocale - The Locale to use for pricingpProfile - The user's profilepExtraParameters - A Map of extra parameters to be used in the pricing, 
        may be null
PricingException| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||