atg.commerce.pricing
Interface ItemPricingCalculator

All Known Implementing Classes:
ConfigurableItemPriceCalculator, ConfigurableItemPriceListCalculator, ItemDiscountCalculator, ItemDiscountMultiplierCalculator, ItemListPriceCalculator, ItemPriceCalculator, ItemPriceCalculator, ItemSalePriceCalculator

public interface ItemPricingCalculator

An ItemPricingCalculator modifies the price of a CommerceItem. The ItemPricingEngineImpl, the DCS implementation of ItemPricingEngine, uses a series of ItemPricingCalculators to modify Items' prices. The calculators have their priceItem, priceEachItem, or priceItems methods invoked one at a time. It's the ItemPricingEngineImpl's job to sequence the method invocations. priceItem can modify the input pPriceQuotes to reflect how the current input environment should affect the price. It's up to the particular calculator implementation to determine if and how to modify the items' prices.

See Also:
ItemPricingEngineImpl

Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 void priceEachItem(java.util.List pPriceQuotes, java.util.List pItems, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Price each of a List of items in a context
 void priceItem(ItemPriceInfo pPriceQuote, CommerceItem pItem, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Price a single item in a context
 void priceItems(java.util.List pPriceQuotes, java.util.List pItems, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, Order pOrder, java.util.Map pExtraParameters)
          Price a List of items together in a context
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values
Method Detail

priceItem

void priceItem(ItemPriceInfo pPriceQuote,
               CommerceItem pItem,
               RepositoryItem pPricingModel,
               java.util.Locale pLocale,
               RepositoryItem pProfile,
               java.util.Map pExtraParameters)
               throws PricingException
Price a single item in a context

Parameters:
pPriceQuote - ItemPriceInfo representing the current price quote for the item
pItem - The item to price
pPricingModel - A RepositoryItems 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

priceEachItem

void priceEachItem(java.util.List pPriceQuotes,
                   java.util.List pItems,
                   RepositoryItem pPricingModel,
                   java.util.Locale pLocale,
                   RepositoryItem pProfile,
                   java.util.Map pExtraParameters)
                   throws PricingException
Price each of a List of items in a context

Parameters:
pPriceQuotes - List of ItemPriceInfo objects representing the current price quotes for each item
pItems - The items to price (individually)
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

priceItems

void priceItems(java.util.List pPriceQuotes,
                java.util.List pItems,
                RepositoryItem pPricingModel,
                java.util.Locale pLocale,
                RepositoryItem pProfile,
                Order pOrder,
                java.util.Map pExtraParameters)
                throws PricingException
Price a List of items together in a context

Parameters:
pPriceQuotes - List of ItemPriceInfo objects representing the current price quotes for the items
pItems - The items to price
pPricingModel - A RepositoryItem representing a PricingModel
pProfile - The user's profile
pOrder - The Order object of which the List of items are a part, may be null
pExtraParameters - A Map of extra parameters to be used in the pricing, may be null
Throws:
PricingException