|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.nucleus.logging.VariableArgumentApplicationLoggingImpl atg.nucleus.GenericService atg.commerce.pricing.ShippingCalculatorImpl atg.commerce.pricing.DoubleRangeShippingCalculator atg.commerce.pricing.PriceRangeShippingCalculator
public class PriceRangeShippingCalculator
A shipping calculator that determines the shipping price based on the subtotal of all the items
in the shipping group. The service is configured through the ranges
property.
With the given array of price range configurations (format: low:high:price)
the service parses the values into their double format for use in calculating shipping costs.
For example:
ranges=00.00:15.99:4.50,\
16.00:30.99:6.00,\
31.00:40.99:7.25,\
41.00:MAX_VALUE
:10.00
Note: the keyword MAX_VALUE
indicates a top end
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.commerce.pricing.DoubleRangeShippingCalculator |
---|
mAmounts, MAX_VALUE_KEY, mHighRanges, mLowRanges, TOKEN |
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 | |
---|---|
PriceRangeShippingCalculator()
Constructs an instanceof PriceRangeShippingCalculator |
Method Summary | |
---|---|
protected double |
getRangeComparisonValue(Order pOrder,
ShippingGroup pShippingGroup)
Return the value which should be used as a comparison between the range values |
protected double |
getRangeComparisonValue(ShippingGroup pShippingGroup)
Deprecated. |
protected double |
getSubTotal(Order pOrder,
ShippingGroup pShippingGroup)
Return the sub total of all the items in the shipping group. |
Methods inherited from class atg.commerce.pricing.DoubleRangeShippingCalculator |
---|
doStartService, getAmount, getRanges, initializeRanges, setRanges |
Methods inherited from class atg.commerce.pricing.ShippingCalculatorImpl |
---|
getAmount, getAvailableMethods, getPricingTools, getShippingMethod, haveItemsToShip, isAddAmount, isIgnoreShippingMethod, performPricing, priceShippingGroup, priceShippingPriceInfo, resetShippingPriceInfo, setAddAmount, setIgnoreShippingMethod, setPricingTools, setShippingMethod |
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl |
---|
vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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 |
---|
public static java.lang.String CLASS_VERSION
Constructor Detail |
---|
public PriceRangeShippingCalculator()
Method Detail |
---|
protected double getRangeComparisonValue(ShippingGroup pShippingGroup) throws PricingException
getRangeComparisonValue
in class DoubleRangeShippingCalculator
pShippingGroup
- the group that should be inspected for a value which falls
between configured range values.
PricingException
- if there was a problem discovering the range comparison valueprotected double getRangeComparisonValue(Order pOrder, ShippingGroup pShippingGroup) throws PricingException
getRangeComparisonValue
in class DoubleRangeShippingCalculator
pShippingGroup
- the group that should be inspected for a value which falls
between configured range values.
PricingException
- if there was a problem discovering the range comparison valueprotected double getSubTotal(Order pOrder, ShippingGroup pShippingGroup)
order
is null, then the subtotal is calculated
by summing the ItemPriceInfo values for the items in the shipping group.
(Warning: This will not take order level discounts into consideration)
If order
is not null, then it is used to get the
given shipping group's subtotal from the order's OrderPriceInfo and
used as the sub total. (This DOES take order level discounts into
consideration.)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |