com.ibm.commerce.order.calculation
Class NonDiscountedPriceCalculationScaleLookupCmdImpl

java.lang.Object
  CacheableCommandImpl
      com.ibm.commerce.command.AbstractECTargetableCommand
          com.ibm.commerce.command.TaskCommandImpl
              com.ibm.commerce.command.BusinessPolicyCommandImpl
                  com.ibm.commerce.order.calculation.CalculationCmdImpl
                      com.ibm.commerce.order.calculation.NonDiscountedPriceCalculationScaleLookupCmdImpl
All Implemented Interfaces:
BusinessPolicyCommand, CalculationCmd, CalculationScaleLookupCmd, ECCommand, ECTargetableCommand, NonDiscountedPriceCalculationScaleLookupCmd, TaskCommand
Direct Known Subclasses:
NetPriceCalculationScaleLookupCmdImpl, NetShippingCalculationScaleLookupCmdImpl, TaxableNetPriceCalculationScaleLookupCmdImpl, TaxableNetPricePlusNetShippingCalculationScaleLookupCmdImpl

public class NonDiscountedPriceCalculationScaleLookupCmdImpl
extends CalculationCmdImpl
implements NonDiscountedPriceCalculationScaleLookupCmd

This is the default implementation of the NonDiscountedPriceCalculationScaleLookup command. This command is suitable for shipping scales and some kinds of discounts. For example, if a percentage discount is based on the non-discounted price of an OrderItem, two successive 10% discounts would give the customer a total 20% discount on the OrderItem. If the discount is based on the net price of an OrderItem, two successive 10% discounts would give the customer a total 19% discount, because the second discount is based on the price of the OrderItem less the first discount (or 90% of the original non-discounted price). The values calculated by this command are as follows:

Base monetary value
The sum of the non-discounted prices of OrderItems
Look-up number
The sum of the non-discounted prices of OrderItems
Mathematical weights
The non-discounted price of each OrderItem
Result multiplier
One
The look-up number is converted to the currency of the calculation scale. If no conversion is possible, this calculation method returns null. Returning null indicates to the calling calculation method that the currency conversion was not possible. For the look-up number to be converted to the currency of the calculation scale, the conversion from the calculation scale currency to the order currency must be defined in WebSphere Commerce.
See Also:
NonDiscountedPriceCalculationScaleLookupCmd, Serialized Form

Field Summary
static java.lang.String COPYRIGHT
Fields inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl
policyId, requestProperties
Fields inherited from class com.ibm.commerce.command.AbstractECTargetableCommand
commandContext
Fields inherited from interface com.ibm.commerce.order.calculation.NonDiscountedPriceCalculationScaleLookupCmd
defaultCommandClassName, NAME
Fields inherited from interface com.ibm.commerce.command.ECCommand
defaultCommandClassName
Constructor Summary
NonDiscountedPriceCalculationScaleLookupCmdImpl()
Method Summary
java.math.BigDecimal getBaseMonetaryValue()
Returns the base monetary value.
protected Item[] getItems()
Returns the items.
java.math.BigDecimal getLookupNumber()
Returns the lookup number.
protected java.math.BigDecimal getLookupNumber(Item aItem)
Returns the lookup number of a particular item.
java.math.BigDecimal getResultMultiplier()
Returns the result multiplier.
protected CalculationRuleAccessBean getRule()
Returns the calculation rule.
protected CalculationScaleAccessBean getScale()
Returns the calculation scale.
protected java.lang.Integer getTaxCategoryId()
Returns the tax category of the calculation rule.
java.math.BigDecimal[] getWeights()
Returns the mathematical weights of the items for distributing values.
void performExecute()
The business logic for this command.
void reset()
Resets the command properties.
protected void setBaseMonetaryValue(java.math.BigDecimal adBaseMonetaryValue)
Sets the base monetary value.
void setItems(Item[] aItems)
Sets the items.
protected void setLookupNumber(java.math.BigDecimal adLookupNumber)
Sets the lookup number.
protected void setResultMultiplier(java.math.BigDecimal adResultMultiplier)
Sets the result multiplier.
void setRule(CalculationRuleAccessBean aabRule)
Sets the calculation rule.
void setScale(CalculationScaleAccessBean aabScale)
Sets the calculation scale.
protected void setWeights(java.math.BigDecimal[] adWeights)
Set the weights of the items.
Methods inherited from class com.ibm.commerce.order.calculation.CalculationCmdImpl
createCommand, getCurrency, getCustomProperties, getCustomProperty, getTimestamp, getUsageId, recycleCommand, setCurrency, setCustomProperties, setCustomProperty, setTimestamp, setUsageId
Methods inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
Methods inherited from class com.ibm.commerce.command.AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties, validateParameters
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.ibm.commerce.order.calculation.CalculationCmd
getCurrency, getCustomProperties, getCustomProperty, getTimestamp, getUsageId, setCurrency, setCustomProperties, setCustomProperty, setTimestamp, setUsageId
Methods inherited from interface com.ibm.commerce.command.BusinessPolicyCommand
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
See Also:
Constant Field Values
Constructor Detail

NonDiscountedPriceCalculationScaleLookupCmdImpl

public NonDiscountedPriceCalculationScaleLookupCmdImpl()
Method Detail

getBaseMonetaryValue

public java.math.BigDecimal getBaseMonetaryValue()
Description copied from interface: CalculationScaleLookupCmd
Returns the base monetary value.
Specified by:
getBaseMonetaryValue in interface CalculationScaleLookupCmd
Returns:
the base monetary value.

getItems

protected Item[] getItems()
Returns the items.

getLookupNumber

public java.math.BigDecimal getLookupNumber()
Description copied from interface: CalculationScaleLookupCmd
Returns the lookup number.
Specified by:
getLookupNumber in interface CalculationScaleLookupCmd
Returns:
the lookup number.

getLookupNumber

protected java.math.BigDecimal getLookupNumber(Item aItem)
                                        throws ECException
Returns the lookup number of a particular item.
Throws:
ECException

getResultMultiplier

public java.math.BigDecimal getResultMultiplier()
Description copied from interface: CalculationScaleLookupCmd
Returns the result multiplier.
Specified by:
getResultMultiplier in interface CalculationScaleLookupCmd
Returns:
the result multiplier.

getRule

protected CalculationRuleAccessBean getRule()
Returns the calculation rule.

getScale

protected CalculationScaleAccessBean getScale()
Returns the calculation scale.

getTaxCategoryId

protected java.lang.Integer getTaxCategoryId()
                                      throws ECException
Returns the tax category of the calculation rule.
Throws:
ECException

getWeights

public java.math.BigDecimal[] getWeights()
Description copied from interface: CalculationScaleLookupCmd
Returns the mathematical weights of the items for distributing values.
Specified by:
getWeights in interface CalculationScaleLookupCmd
Returns:
the mathematical weights.

performExecute

public void performExecute()
                    throws ECException
Description copied from class: AbstractECTargetableCommand
The business logic for this command. This method should be overwritten by all command writers. Command writers should call super.performExecute() as the first line in their method.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

reset

public void reset()
Resets the command properties. Prepares the command for re-execution.
Overrides:
reset in class CalculationCmdImpl
See Also:
com.ibm.websphere.command.Command#reset()

setBaseMonetaryValue

protected void setBaseMonetaryValue(java.math.BigDecimal adBaseMonetaryValue)
Sets the base monetary value.

setItems

public void setItems(Item[] aItems)
Description copied from interface: CalculationScaleLookupCmd
Sets the items.
Specified by:
setItems in interface CalculationScaleLookupCmd
Parameters:
aItems - the items.

setLookupNumber

protected void setLookupNumber(java.math.BigDecimal adLookupNumber)
Sets the lookup number.

setResultMultiplier

protected void setResultMultiplier(java.math.BigDecimal adResultMultiplier)
Sets the result multiplier.

setRule

public void setRule(CalculationRuleAccessBean aabRule)
Description copied from interface: CalculationScaleLookupCmd
Sets the calculation rule.
Specified by:
setRule in interface CalculationScaleLookupCmd
Parameters:
aabRule - the calculation rule.

setScale

public void setScale(CalculationScaleAccessBean aabScale)
Description copied from interface: CalculationScaleLookupCmd
Sets the calculation scale.
Specified by:
setScale in interface CalculationScaleLookupCmd
Parameters:
aabScale - the calculation scale.

setWeights

protected void setWeights(java.math.BigDecimal[] adWeights)
Set the weights of the items.

Feedback