public class PropertyRangeShippingCalculator extends DoubleRangeShippingCalculator
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.
Set the propertyName
property to the name of the property that you want to sum
across all items. (e.g. "weight" - which would then calculate the total weight of all the items in the order)
The property value will be extracted from the catalogRef of the CommerceItem (aka SKU) if the
useCatalogRef
property is set to true, otherwise the product will be used as the source.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
mAmounts, MAX_VALUE_KEY, mHighRanges, mLowRanges, TOKEN
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
PropertyRangeShippingCalculator()
Constructs an instanceof PropertyRangeShippingCalculator
|
Modifier and Type | Method and Description |
---|---|
OrderManager |
getOrderManager()
Return the OrderManager property.
|
java.lang.String |
getPropertyName()
Returns property PropertyName
|
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.
|
boolean |
isUseCatalogRef()
Returns property UseCatalogRef.
|
void |
setOrderManager(OrderManager pOrderManager)
Set the OrderManager property.
|
void |
setPropertyName(java.lang.String pPropertyName)
Sets property PropertyName
|
void |
setUseCatalogRef(boolean pUseCatalogRef)
Sets property UseCatalogRef
|
doStartService, getAmount, getRanges, initializeRanges, setRanges
getAmount, getAvailableMethods, getPricingTools, getShippingMethod, haveItemsToShip, isAddAmount, isIgnoreShippingMethod, performPricing, priceShippingGroup, priceShippingPriceInfo, priceShippingPriceInfo, resetShippingPriceInfo, setAddAmount, setIgnoreShippingMethod, setPricingTools, setShippingMethod
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
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public PropertyRangeShippingCalculator()
public void setUseCatalogRef(boolean pUseCatalogRef)
public boolean isUseCatalogRef()
public void setPropertyName(java.lang.String pPropertyName)
public java.lang.String getPropertyName()
public void setOrderManager(OrderManager pOrderManager)
public OrderManager getOrderManager()
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 value