atg.commerce.pricing
Interface ShippingPricingEngine

All Superinterfaces:
PricingEngine
All Known Implementing Classes:
ShippingPricingEngineImpl

public interface ShippingPricingEngine
extends PricingEngine

This extension of the PricingEngine interface describes an object whose job it is to determine prices for ShippingGroup objects. Essentially, implementers of this interface are tasked with calculating the cost of shipping whatever this shipping group represents. The priceShippingGroup method is the API for calling code to ask this object to determine a price for the input shipping group. The getAvailableMethods call returns the methods available for shipping the input shipping group.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 java.util.List getAvailableMethods(ShippingGroup pShipment, java.util.Collection pPricingModels, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Get shipping methods available to deliver the shipping group
 ShippingPriceInfo priceShippingGroup(Order pOrder, ShippingGroup pShipment, java.util.Collection pPricingModels, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Price a shipment 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

priceShippingGroup

ShippingPriceInfo priceShippingGroup(Order pOrder,
                                     ShippingGroup pShipment,
                                     java.util.Collection pPricingModels,
                                     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.
pShipment - The shipment 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:
ShippingPriceInfo representing the price quote for the shipment
Throws:
PricingException

getAvailableMethods

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

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