com.ibm.commerce.order.calculation
Class DiscountCalculationCodeCombineCmdImpl
- java.lang.Object
-
- com.ibm.websphere.command.TargetableCommandImpl
-
- com.ibm.websphere.command.CacheableCommandImpl
-
- com.ibm.commerce.command.MeasuredCacheableCommandImpl
-
- 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.CalculationCodeCombineCmdImpl
-
- com.ibm.commerce.order.calculation.DiscountCalculationCodeCombineCmdImpl
-
- All Implemented Interfaces:
- BusinessPolicyCommand, com.ibm.commerce.command.CacheableECCommand, ECCommand, ECTargetableCommand, TaskCommand, CalculationCmd, CalculationCodeCombineCmd, DiscountCalculationCodeCombineCmd, com.ibm.websphere.cache.Sizeable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command, com.ibm.websphere.command.CommandCaller, com.ibm.websphere.command.TargetableCommand, java.io.Serializable
public class DiscountCalculationCodeCombineCmdImpl extends CalculationCodeCombineCmdImpl implements DiscountCalculationCodeCombineCmd
The default implementation of
CalculationCodeCombineCmd
.If rule based discount is enabled, its behaviour is as follows:
- calls
InvokePersonalizationRuleServiceCommand
to invoke the discount rule service. -
for each discount returned through the discount context (see
Discount
,DiscountContext
):-
creates a group (see
Group
) that contains the following:- the calculation code referenced by the discount.
- the items.
- for each monetary discount referenced by the discount (see
MonetaryDiscount
), adds its monetary values to the group by callingaddMonetaryDiscount(Group, MonetaryDiscount)
. - for each fixed price item referenced by the discount (see
FixedPriceItem
), adds its monetary values to the group by callingaddFixedPriceItem(Group, FixedPriceItem)
. - for each freebie item referenced by the discount (see
FreebieItem
), adds its monetary values to the group by callingaddFreebieItem(Group, FreebieItem)
. - for each service discount referenced by the discount (see
ServiceDiscount
), adds the service discount to the custom property "vecServiceDiscounts" by callingaddServiceDiscount(ServiceDiscount)
.
-
creates a group (see
If rule based discount is not enabled, its behaviour is the same as that of
CalculationCodeCombineCmdImpl
.Commands used:
InvokePersonalizationRuleServiceCommand
CalculationCodeQualifyCmd
OrderItemAccessBean
StoreEntityCalculationUsageAccessBean
CalculationMethodAccessBean
CalculationCodeAccessBean
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.String
COPYRIGHT
The IBM copyright notice field.-
Fields inherited from interface com.ibm.commerce.order.calculation.DiscountCalculationCodeCombineCmd
defaultCommandClassName, NAME
-
-
Constructor Summary
Constructors Constructor and Description DiscountCalculationCodeCombineCmdImpl()
Constructor for DiscountCalculationCodeCombineCmdImpl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
performExecute()
This method performs the business logic for this command.void
reset()
Resets the command properties.-
Methods inherited from class com.ibm.commerce.order.calculation.CalculationCodeCombineCmdImpl
getGroups, setItems, setTaxCategoryIds
-
Methods inherited from class com.ibm.commerce.order.calculation.CalculationCmdImpl
getCurrency, getCustomProperties, getCustomProperty, getTimestamp, getUsageId, 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, checkResourcePermission, createCommandExecutionEvent, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getExceptionInvokeParameters, getObjectSize, getPostInvokeParameters, getPreInvokeParameters, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties, validateParameters
-
Methods inherited from class com.ibm.websphere.command.CacheableCommandImpl
executeFromCache, getCaller, getEntryInfo, getId, getSharingPolicy, postExecute, preExecute, setCaller, setObjectSize, unionDependencies, updateCache
-
Methods inherited from class com.ibm.websphere.command.TargetableCommandImpl
getCommandTarget, getCommandTargetName, getTargetPolicy, hasOutputProperties, setCommandTarget, setCommandTargetName, setHasOutputProperties, setOutputProperties, setTargetPolicy
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.ibm.commerce.order.calculation.CalculationCodeCombineCmd
getGroups, setItems, setTaxCategoryIds
-
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
-
Methods inherited from interface com.ibm.websphere.command.CacheableCommand
executeFromCache, getCaller, getEntryInfo, getId, getSharingPolicy, postExecute, preExecute, setCaller, updateCache
-
Methods inherited from interface com.ibm.websphere.command.TargetableCommand
getCommandTarget, getCommandTargetName, hasOutputProperties, setCommandTarget, setCommandTargetName, setOutputProperties
-
Methods inherited from interface com.ibm.commerce.command.ECCommand
checkIsAllowed, checkResourcePermission, createCommandExecutionEvent, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getExceptionInvokeParameters, getPostInvokeParameters, getPreInvokeParameters, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties, validateParameters
-
-
-
-
Field Detail
-
COPYRIGHT
public static final java.lang.String COPYRIGHT
The IBM copyright notice field.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DiscountCalculationCodeCombineCmdImpl
public DiscountCalculationCodeCombineCmdImpl()
Constructor for DiscountCalculationCodeCombineCmdImpl.
-
-
Method Detail
-
reset
public void reset()
Resets the command properties. Prepares the command for re-execution.- Specified by:
reset
in interfacecom.ibm.websphere.command.Command
- Overrides:
reset
in classCalculationCodeCombineCmdImpl
- See Also:
Command.reset()
-
performExecute
public void performExecute() throws ECException
Description copied from class:AbstractECTargetableCommand
This method performs 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 interfaceECCommand
- Specified by:
performExecute
in interfacecom.ibm.websphere.command.TargetableCommand
- Overrides:
performExecute
in classCalculationCodeCombineCmdImpl
- Throws:
ECException
- See Also:
ECCommand#performExecute()
-
-