atg.commerce.pricing
Interface PricingEngine

All Known Subinterfaces:
ItemPricingEngine, OrderPricingEngine, ShippingPricingEngine, TaxPricingEngine
All Known Implementing Classes:
ItemPricingEngineImpl, OrderPricingEngineImpl, ShippingPricingEngineImpl, TaxPricingEngineImpl

public interface PricingEngine

A PricingEngine is the main interface for interaction with the atg.commerce.pricing package. Extensions of this interface describe Objects that are tasked with calculating a price for a specific class of object. For example, OrderPricingEngine extends PricingEngine and has the job of calculating prices for orders which it is passed. It's clear from looking at this interface that it's largely a marker interface; there's only one method in it. This is because it's impossible to tell exactly what information will be necessary for a given PricingEngine implementation to calculate a price for its class of object. For example, the ItemPricingEngine implementation needs one set of input parameters, whereas the OrderPricingEngine needs a different set. The one thing all PricingEngine implementations have in common is the ability to process pricing models, which by default are repository items that define a modification to a price. The method getPricingModels extracts a Collection of pricing models from an input profile.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 java.util.Collection getPricingModels(RepositoryItem pProfile)
          Returns a Collection of pricing models (e.g.
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values
Method Detail

getPricingModels

java.util.Collection getPricingModels(RepositoryItem pProfile)
Returns a Collection of pricing models (e.g. promotions) for given a Profile.

Parameters:
pProfile - The user's profile from which the engine will extract promotions
Returns:
Collection of RepositoryItems which represent pricing models for use in pricing.