atg.commerce.pricing
Class FixedPriceShippingCalculator

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.pricing.ShippingCalculatorImpl
              extended by atg.commerce.pricing.FixedPriceShippingCalculator
All Implemented Interfaces:
ShippingPricingCalculator, atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener

public class FixedPriceShippingCalculator
extends ShippingCalculatorImpl

A shipping calculator that sets the shipping amount to a fixed price.

If the property addAmount is true then instead of setting the price quote amount to the value of the amount property, the calculator adds the amount to the current amount in the price quote. This can be used to configure a "surcharge" calculator, which increases the shipping price.

The shippingMethod property should be set to the name of a particular delivery process. For example: UPS Ground, UPS 2-day or UPS Next Day.

If the ignoreShippingMethod property is true, then this calculator does not expose a shipping method name (through getAvailableMethods). In addition this calculator will always attempt to perform pricing. This option is available if the user is not given a choice of different shipping methods.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
FixedPriceShippingCalculator()
          Constructs an instanceof FixedPriceShippingCalculator
 
Method Summary
 double getAmount()
          The fixed price that every ShippingGroup processes by this calculator receives
protected  double getAmount(Order pOrder, ShippingPriceInfo pPriceQuote, ShippingGroup pShippingGroup, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters)
          Returns the amount which should be used as the price for this shipping group
 void setAmount(double pAmount)
          The fixed price that every ShippingGroup processes by this calculator receives
 
Methods inherited from class atg.commerce.pricing.ShippingCalculatorImpl
doStartService, getAmount, getAvailableMethods, getPricingTools, getShippingMethod, haveItemsToShip, isAddAmount, isIgnoreShippingMethod, performPricing, priceShippingGroup, priceShippingPriceInfo, resetShippingPriceInfo, setAddAmount, setIgnoreShippingMethod, setPricingTools, setShippingMethod
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

FixedPriceShippingCalculator

public FixedPriceShippingCalculator()
Constructs an instanceof FixedPriceShippingCalculator

Method Detail

setAmount

public void setAmount(double pAmount)
The fixed price that every ShippingGroup processes by this calculator receives

Parameters:
pAmount - new value to set

getAmount

public double getAmount()
The fixed price that every ShippingGroup processes by this calculator receives

Returns:
property Amount

getAmount

protected double getAmount(Order pOrder,
                           ShippingPriceInfo pPriceQuote,
                           ShippingGroup pShippingGroup,
                           RepositoryItem pPricingModel,
                           java.util.Locale pLocale,
                           RepositoryItem pProfile,
                           java.util.Map pExtraParameters)
                    throws PricingException
Returns the amount which should be used as the price for this shipping group

Overrides:
getAmount in class ShippingCalculatorImpl
Parameters:
pOrder - the Order
pPriceQuote - the price of the input shipping group
pShippingGroup - the shipping group for which an amount is needed
pPricingModel - a discount which could affect the shipping group's price
pLocale - the locale in which the price is calculated
pProfile - the profile of the person for whom the amount in being generated.
pExtraParameters - any extra parameters that might affect the amount calculation
Returns:
the amount for pricing the input pShippingGroup
Throws:
PricingException - if there is a problem getting the amount (price) for the input shipping group