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 |
CLASS_VERSION
static final java.lang.String CLASS_VERSION
- Class version string
- See Also:
- Constant Field Values
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 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
- Returns:
- OrderPriceInfo representing the price quote for the order
- Throws:
PricingException