atg.commerce.pricing
Interface OrderPricingEngine

All Superinterfaces:
PricingEngine
All Known Implementing Classes:
OrderPricingEngineImpl

public interface OrderPricingEngine
extends PricingEngine

This extension of the PricingEngine interface describes an object whose job it is to determine prices for Order objects. There is a single way in which the OrderPricingEngine performs its task: the priceOrder method. The pricing context is defined by the input parameters. The task of implementations of this interface is quite simple. They are to come up with an OrderPriceInfo object that accurately represents the price of pOrder. The way in which they accomplish this feat is implemenation-dependent. An OrderPricingEngine assumes that the objects in pPricingModels are RepositoryItems that describe a price modification.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 OrderPriceInfo priceOrder(Order pOrder, java.util.Collection pPricingModels, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Price an order within a context.
 
Methods inherited from interface atg.commerce.pricing.PricingEngine
getPricingModels
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values
Method Detail

priceOrder

OrderPriceInfo priceOrder(Order pOrder,
                          java.util.Collection pPricingModels,
                          java.util.Locale pLocale,
                          RepositoryItem pProfile,
                          java.util.Map pExtraParameters)
                          throws PricingException
Price an order within a context. This should include subtotaling and discounting, but in most cases not totaling since tax should be determined on the subtotal

Parameters:
pOrder - The order to price
pPricingModels - A Collection of RepositoryItems representing PricingModels
pLocale - The Locale to use for pricing
pProfile - The user's profile
pExtraParameters - A Map of extra parameters to be used in the pricing, may be null
Returns:
OrderPriceInfo representing the price quote for the order
Throws:
PricingException