atg.commerce.pricing
Interface ShippingPricingCalculator

All Known Implementing Classes:
DoubleRangeShippingCalculator, FixedPriceShippingCalculator, PriceRangeShippingCalculator, PropertyRangeShippingCalculator, ShippingCalculatorImpl, ShippingDiscountCalculator, WeightRangeShippingCalculator

public interface ShippingPricingCalculator

A ShippingPricingCalculator modifies the price of the shipping for an Order. The ShippingPricingEngineImpl, the DCS implementation of ShippingPricingEngine, uses a series of ShippingPricingCalculators to modify a shipping price. The calculators have their priceShippingGroup method invoked one calculator at a time. It's the ShippingPricingEngineImpl's job to sequence the method invocations. priceShippingGroup can modify the input pPriceQuote 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 shipping price.

See Also:
ShippingPricingEngineImpl

Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 void getAvailableMethods(java.util.List pMethods, ShippingGroup pShipment, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Get shipping methods available to deliver the shipping group
 void priceShippingGroup(Order pOrder, ShippingPriceInfo pPriceQuote, ShippingGroup pShipment, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Price a shipment within a context
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values
Method Detail

priceShippingGroup

void priceShippingGroup(Order pOrder,
                        ShippingPriceInfo pPriceQuote,
                        ShippingGroup pShipment,
                        RepositoryItem pPricingModel,
                        java.util.Locale pLocale,
                        RepositoryItem pProfile,
                        java.util.Map pExtraParameters)
                        throws PricingException
Price a shipment within a context

Parameters:
pOrder - the Order in the context of which pShipment is being priced.
pPriceQuote - ShippingPriceInfo representing the price quote for the shipment
pShipment - The shipment to price
pPricingModels - A Collection of RepositoryItems representing PricingModels
pProfile - The user's profile
pExtraParameters - A Map of extra parameters to be used in the pricing, may be null
Throws:
PricingException

getAvailableMethods

void getAvailableMethods(java.util.List pMethods,
                         ShippingGroup pShipment,
                         RepositoryItem pPricingModel,
                         java.util.Locale pLocale,
                         RepositoryItem pProfile,
                         java.util.Map pExtraParameters)
                         throws PricingException
Get shipping methods available to deliver the shipping group

Parameters:
pMethods - List of Strings representing shipping methods
pShipment - The shipping group to deliver
pPricingModels - A Collection of RepositoryItems representing PricingModels
pProfile - The user's profile
pExtraParameters - A Map of extra parameters to be used in the pricing, may be null
Throws:
PricingException