java.lang.Object | +--CacheableCommandImpl | +--com.ibm.commerce.command.AbstractECTargetableCommand | +--com.ibm.commerce.command.TaskCommandImpl | +--com.ibm.commerce.catalog.commands.ResolveSkuCmdImpl
This command first determines the type of CatalogEntry that is provided as input to the command. If it is a Package, then the PackageResolveSku command is called. If it is a Product, then first the command determines the distinct Attributes that are needed to resolve the Product into an orderable Item. For each of these Attributes, the command ensures that an appropriate AttributeValue has been supplied as input. Once these Attribute name-value pairs have been identified, the command resolves this information into an ItemId that represents the orderable Item. Also, the command sets the ItemSpecId to be the ItemSpecification for the resolved CatalogEntry. If Attributes are missing or are incorrect, the ErrorMissingAttributeErrorCmd or ErrorProductAttributeErrorCmd error tasks are launched respectively. If the type of CatalogEntry that is provided as input to the command is neither a Package nor a Product, then the command returns and sets the ItemId to be equal to the ProductId.
Field Summary | |
---|---|
static java.lang.String |
COPYRIGHT The internal copyright field. |
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand |
commandContext |
Fields inherited from interface com.ibm.commerce.catalog.commands. ResolveSkuCmd |
defaultCommandClassName,
NAME |
Fields inherited from interface com.ibm.commerce.command. ECCommand |
defaultCommandClassName |
Constructor Summary | |
---|---|
ResolveSkuCmdImpl() No value constructor. |
Method Summary | |
---|---|
protected
java.util.Hashtable |
getAttributeNVPs() Returns the hashtable that represents the Attribute names and values that will be used to perform the Item resolution. |
java.lang.Long |
getItemId() Returns the ItemId that represents the primary key of the resolved Item |
java.lang.Long |
getItemSpecId() Returns the ItemSpecId that represents the ItemSpecification identifier for the resolved Item. |
protected
java.lang.Long |
getProductId() Returns the ProductId that represents the primary key of the CatalogEntry that is to be resolved, |
boolean |
isReadyToCallExecute() This method is called by the Targettable Command frame work before the execution of the command. |
void |
performExecute() The business logic for this command. |
void |
reset() This method should be called after a command has been executed to reset its states variables. |
void |
setAttributeNVPs(java.util.Hashtable ahshAttrNVPs) Sets the hashtable that represents the Attribute names and values that will be used to perform the Item resolution. |
protected
void |
setItemId(java.lang.Long anItemNumber) Sets the ItemId that represents the primary key of the resolved Item |
protected
void |
setItemSpecId(java.lang.Long anItemSpecId) Sets the ItemSpecId that represents the ItemSpecification identifier for the resolved Item. |
void |
setProductId(java.lang.Long anProductNumber) Sets the ProductId that represents the primary key of the CatalogEntry that is to be resolved, |
void |
validateParameters() Performs parameter checking. |
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,
setAccCheck,
setCommandContext,
setCommandIfName,
setCommandStoreId,
setDefaultProperties |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait,
wait, wait |
Field Detail |
---|
public static final java.lang.String COPYRIGHT
Constructor Detail |
---|
public ResolveSkuCmdImpl()
Method Detail |
---|
protected java.util.Hashtable getAttributeNVPs()
public java.lang.Long getItemId()
getItemId
in interface
ResolveSkuCmd
public java.lang.Long getItemSpecId()
getItemSpecId
in interface
ResolveSkuCmd
protected java.lang.Long getProductId()
public boolean isReadyToCallExecute()
AbstractECTargetableCommand
isReadyToCallExecute
in class
AbstractECTargetableCommand
public void performExecute() throws ECException
AbstractECTargetableCommand
performExecute
in interface
ECCommand
performExecute
in class
AbstractECTargetableCommand
ECException
public void reset()
AbstractECTargetableCommand
reset
in class
AbstractECTargetableCommand
public void setAttributeNVPs(java.util.Hashtable ahshAttrNVPs)
setAttributeNVPs
in interface
ResolveSkuCmd
ahshAttrNVPs
- java.util.Hashtableprotected void setItemId(java.lang.Long anItemNumber)
anItemNumber
- java.lang.Longprotected void setItemSpecId(java.lang.Long anItemSpecId)
anItemSpecId
- java.lang.Longpublic void setProductId(java.lang.Long anProductNumber)
setProductId
in interface
ResolveSkuCmd
anProductNumber
- the primary key of the
productpublic void validateParameters() throws ECException
AbstractECTargetableCommand
validateParameters
in interface
ECCommand
validateParameters
in class
AbstractECTargetableCommand
ECException