com.ibm.commerce.command
Interface ControllerCommand

All Superinterfaces:
AccCommand, ECCommand, Protectable
All Known Subinterfaces:
AcceptCouponFromBannerAdCmd, AccessSpaceCtrlCmd, AccountDeleteCmd, AccountImportCmd, AccountSaveCmd, ActGrpAddCmd, ActGrpDeleteCmd, ActGrpUpdateCmd, AddBroadcastJobCmd, AddEventControllerCommandTest, AddJobCmd, AddMemberToSpaceCtrlCmd, AddProductsToSearchSpaceCmd, AddressCheckCmd, AddressDeleteCmd, AddRuleServiceCommand, AdminBidDeleteCmd, AdminOrderItemUpdateCmd, AdminReturnApproveCmd, AlgorithmRegistryBaseCmd, ApproveGroupUpdateCmd, AttributeCreateControllerCmd, AttributeDelete, AttributeSequenceMoveDown, AttributeSequenceMoveUp, AttributesUpdateCmd, AttributeUpdate, AttributeUpdateControllerCmd, AttributeValueAddCmd, AttributeValueDeleteCmd, AttributeValueDialogCreate, AttributeValueDialogUpdate, AttributeValueSequenceMoveDown, AttributeValueSequenceMoveUp, AttributeValueUpdateCmd, AttributeWizardCreate, AuctionBaseCmd, AuctionNotificationCmd, AutoBidCreateFormCmd, AutoBidDeleteCmd, AutoBidSubmitCmd, AutoBidUpdateFormCmd, BalancePaymentCmd, BidCreateFormCmd, BidDeleteCmd, BidRuleBaseCmd, BidSubmitCmd, BidUpdateFormCmd, BIShowReportCmd, BroadcastUpdateRuleServiceStatusCommand, CampaignCheckUserControllerCmd, CampaignCollateralDeleteControllerCmd, CampaignCollateralSaveControllerCmd, CampaignDeleteControllerCmd, CampaignEmsDeleteControllerCmd, CampaignEmsSaveControllerCmd, CampaignInitiativeDeleteControllerCmd, CampaignInitiativeDisableControllerCmd, CampaignInitiativeSaveControllerCmd, CampaignInitiativeScheduleDeleteControllerCmd, CampaignInitiativeScheduleSaveControllerCmd, CampaignSaveControllerCmd, CatalogAddCmd, CatalogDeleteCmd, CatalogEntryAddCmd, CatalogEntryDeleteCmd, CatalogEntryUpdateCmd, CatalogGroupAddCmd, CatalogGroupDeleteCmd, CatalogGroupUpdateCmd, CatalogUpdateCmd, CategoryCreate, CategoryDelete, CategoryDisplayCmd, CategoryUpdate, CatGroupCatEntryRelAddCmd, CatGroupCatEntryRelDeleteCmd, CatGroupRelAddCmd, CatGroupRelDeleteCmd, ChangeSpaceCtrlCmd, ChangeUserRoleCtrlCmd, CISEditAttCreateCmd, CISEditAttUpdateCmd, CleanJobCmd, ClickMonitorCommand, CloseBiddingCmd, CompleteOrderCmd, ContractAttachmentAddCmd, ContractAttachmentDeleteCmd, ContractCancelCmd, ContractCloseCmd, ContractCopyCmd, ContractCreateCmd, ContractDeleteCmd, ContractDeployCmd, ContractDisplayCmd, ContractExportCmd, ContractImportApprovedVersionCmd, ContractImportDraftVersionCmd, ContractListAsBuyerCmd, ContractNewVersionCmd, ContractResumeCmd, ContractSaveCmd, ContractSetInSessionCmd, ContractSubmitPostApprovalCmd, ContractSubmitPostCancelCmd, ContractSubmitPostRejectCmd, ContractSubmitPreApprovalCmd, ContractSubmitResponseCmd, ContractSuspendCmd, ContractTCCreateCmd, ContractTCDeleteCmd, ContractTCUpdateCmd, ContractUpdateCmd, CouponDSSCmd, CreateAuctionCmd, CreateAuctionStyleCmd, CreateBidRuleCmd, CreateForumMessageCmd, CreateSpaceCtrlCmd, CSRCustomerAddressAddCmd, CSRCustomerEnableAccountCmd, CSRCustomerInfoUpdateCmd, CSROrderAdjustmentUpdateCmd, CSROrderCancelCmd, CSROrderCommentsAddCmd, CSROrderItemAddCmd, CSROrderItemAddressUpdateCmd, CSROrderItemDeleteCmd, CSROrderItemSplitCmd, CSROrderItemUpdateCmd, CSROrderPrepareCmd, CSROrderProcessCmd, CSROrderProductContractPriceCmd, CSROrderRollBackCmd, CSRReturnCancelCmd, CSRReturnCreateCopyCmd, CSRReturnItemAddCmd, CSRReturnItemComponentUpdateCmd, CSRReturnItemDeleteCmd, CSRReturnItemUpdateCmd, CSRReturnPrepareCmd, CSRReturnProcessCmd, CSRReturnRestoreCopyCmd, CSRReturnUpdateCmd, DeleteAuctionCmd, DeleteAuctionStyleCmd, DeleteBidRuleCmd, DeleteCouponsFromWalletCmd, DeleteMailCmd, DeleteSpaceCtrlCmd, DisableRuleServiceCommand, DiscountSaveCmd, DisplayAuctionBidsCmd, DisplayAuctionItemCmd, DisplayAuctionListCmd, DisplayAuctionRulesCmd, DisplayMessageCmd, DisplayShopperBidsCmd, DoAuctionNotifyCmd, DynamicKitConfigurationAddCmd, EditJobCmd, EditRuleServiceCommand, EnableRuleServiceCommand, ExpectedInventoryRecordCloseCmd, ExpectedInventoryRecordCreateCmd, ExpectedInventoryRecordDeleteCmd, ExpectedInventoryRecordUpdateCmd, FinalizeAuctionCmd, FulfillmentCenterCreateCmd, FulfillmentCenterDeleteCmd, FulfillmentCenterUpdateCmd, GalleryDeleteCmd, GalleryDisplayCmd, GenericReportControllerCmd, GetPaymentInfoCmd, GetPickPackListDetailCmd, HttpViewControllerCommand, InterestItemAddCmd, InterestItemDeleteCmd, InterestItemDisplayCmd, InterestItemListCopyCmd, InterestItemListDeleteCmd, InventoryAdjustCmd, ItemCreate, ItemDelete, ItemGenerate, ItemPriceDelete, ItemUpdate, ListRegistryCmd, LogoffCmd, LogonCmd, MemberGroupMemberUpdateCmd, MemberRoleAssignCmd, MemberRoleUnassignCmd, MessagingProfileCmd, MessagingProfileCreateCmd, MessagingProfileDeleteCmd, MessagingProfileUpdateCmd, ModifyAuctionCmd, ModifyAuctionStyleCmd, ModifyBidRuleCmd, ModifyForumMessageCmd, ModifyForumMessageDialogCmd, ModifyForumMessageListCmd, MonitorAuctionCmd, NewInboundMessageCmd, OfferAddCmd, OfferDeleteCmd, OfferingBaseCmd, OfferUpdateCmd, OrderCancelCmd, OrderConfirmCmd, OrderCopyCmd, OrderDisplayCmd, OrderInvoiceCmd, OrderItemAddCmd, OrderItemDeleteCmd, OrderItemDisplayCmd, OrderItemMoveCmd, OrderItemUpdateCmd, OrderListCmd, OrderPrepareCmd, OrderProcessCmd, OrderProcessPostApprovalCmd, OrderProcessPostCancelCmd, OrderProcessPostRejectCmd, OrderProcessPreApprovalCmd, OrderProfileUpdateCmd, OrderScheduleCmd, OrderShippingCmd, OrderStatusCmd, OrderUnlockCmd, ParticipantAddCmd, ParticipantDeleteCmd, PAttributeBaseCmd, PAttributeCreateCmd, PAttributeDeleteCmd, PAttributeModifyCmd, PayCleanupCmd, PaymentSummaryGenerateCmd, PayResetPMCmd, PaySynchronizePMCmd, PickBatchGenerateCmd, PolicyAddCmd, PolicyAddCmd, PolicyDeleteCmd, PolicyDeleteCmd, PolicyDescriptionDeleteCmd, PolicyDescriptionUpdateCmd, PolicyUpdateCmd, ProcessAutoBidsCmd, ProcessBackordersCmd, ProcessControllerCmd, ProcessDutchBidsCmd, ProcessOpenCryBidsCmd, ProcessToolsControllerCmd, ProductAttributeAddCmd, ProductAttributeDeleteCmd, ProductAttributeUpdateCmd, ProductAttributeValueDelete, ProductDelete, ProductDisplayCmd, ProductInventoryUpdateCmd, ProductListPriceUpdateCmd, ProductNotebookUpdate, ProductOfferPriceUpdateCmd, ProductPricingControllerCmd, ProductSetAddCmd, ProductSetDeleteCmd, ProductSetPolicyAddCmd, ProductSetPolicyDeleteCmd, ProductSetPublishCmd, ProductWizardCreate, PromotionChooseCmd, PromotionPublishCmd, PVCBufferUrlCmd, PVCChangeDeviceCmd, PVCRegisterDeviceCmd, PVCRegistrationCmd, RAReallocateCmd, ReceiptCreateCmd, RedeemCouponCmd, ReEnterPasswordCmd, RefreshLocalRegistryCmd, RefreshRegistryCmd, RefreshRuleServiceCommand, ReleaseExpiredAllocationsCmd, ReleaseManifestCmd, ReleaseShipConfirmCmd, ReleaseShipDeleteCmd, ReleaseShipUpdateCmd, ReleaseToFulfillmentCmd, RemoveJobCmd, RemoveMemberFromSpaceCtrlCmd, RemoveProductsFromAllSearchSpacesCmd, RemoveProductsFromSearchSpaceCmd, RemoveRuleServiceCommand, RequisitionListCopyCmd, RequisitionListCreateCmd, RequisitionListDeleteCmd, RequisitionListDisplayCmd, RequisitionListItemUpdateCmd, RequisitionListSubmitCmd, RequisitionListUpdateCmd, ResetPasswordAdministratorCmd, ResetPasswordCmd, ResGrpAddCmd, ResGrpDeleteCmd, ResGrpImplicitSaveCmd, ResGrpUpdateCmd, RetrieveShopperProfileCmd, RetrieveShoppingCartCmd, ReturnCancelCmd, ReturnCreditAndCloseScanCmd, ReturnDisplayCmd, ReturnItemAddCmd, ReturnItemComponentDisposeCmd, ReturnItemComponentReceiveCmd, ReturnItemComponentUpdateCmd, ReturnItemDeleteCmd, ReturnItemUpdateCmd, ReturnListDisplayCmd, ReturnPrepareCmd, ReturnProcessCmd, ReturnReasonCodeCreateCmd, ReturnReasonCodeDeleteCmd, ReturnReasonCodeUpdateCmd, ReturnUpdateCmd, RFQActivateAllDueCmd, RFQCancelCmd, RFQCloseAllExpiredCmd, RFQCloseCmd, RFQCompleteCmd, RFQCopyCmd, RFQCreateCmd, RFQMarkForDeleteCmd, RFQModifyCmd, RFQNotificationClosedMonitorCmd, RFQNotificationCompletedMonitorCmd, RFQNotificationMonitorBaseCmd, RFQNotificationSubmittedMonitorCmd, RFQResponseAcceptCmd, RFQResponseBaseCmd, RFQResponseChangeStateAdvCmd, RFQResponseChangeStateBaseCmd, RFQResponseCreateCmd, RFQResponseModifyCmd, RFQResponseRejectCmd, RFQSubmitCmd, RoleAddCmd, RuleServiceAdminCommand, SchedCouponCmd, ScheduledContractDeployCmd, ScheduledOrderCancelCmd, SchedulerInterruptCmd, SecurityCheckCmd, SegmentAddUserControllerCmd, SegmentDeleteControllerCmd, SegmentRemoveUserControllerCmd, SegmentSaveControllerCmd, SendTransactedMsgCmd, SetCurrencyPreferenceCmd, SetInterestItemListCmd, SetOrderTemplateCmd, SetPendingOrderCmd, ShopperCreateForumMessageCmd, ShowContextListCmd, StoreCatalogDisplayCmd, StoreCollabListDisplayCmd, StoreCollabMembersDisplayCmd, StoreTransCreateCmd, StoreTransUpdateCmd, ToolsControllerCommand, TopCatalogGroupAddCmd, TopCatalogGroupDeleteCmd, TopCategoriesDisplayCmd, TradingEngineBaseCmd, UpdateGalleryCmd, UpdateLocalRegistryCmd, UpdateRegistryCmd, UpdateRuleServiceStatusCommand, UpdateSearchSpacesCmd, UseCouponIdCmd, UserRegistrationAddCmd, UserRegistrationAddPostApprovalCmd, UserRegistrationAddPostRejectCmd, UserRegistrationAddPreApprovalCmd, UserRegistrationAdminAddCmd, UserRegistrationAdminCmd, UserRegistrationAdminUpdateCmd, UserRegistrationCmd, UserRegistrationUpdateCmd, VendorCreateCmd, VendorDeleteCmd, VendorUpdateCmd
All Known Implementing Classes:
ControllerCommandImpl

public interface ControllerCommand
extends AccCommand

This interface has to be implemented by all top level command called by a WebController.


Field Summary
static java.lang.String COPYRIGHT
           
 
Fields inherited from interface com.ibm.commerce.command.ECCommand
defaultCommandClassName
 
Method Summary
 void execute()
          The execute() method will invoke the performExecute() method of the command.
 boolean getGeneric()
          Gets the generic property.
 TypedProperty getRequestProperties()
          Gets the request properties set by the setRequestProperties() method.
 TypedProperty getResolvedRequestProperties()
          Gets the resolved request properties associated with this command.
 TypedProperty getResponseProperties()
          This method is called after a controller command has been executed successfully.
 boolean getRetriable()
          Gets the retriable property for this command.
 TypedProperty getViewInputProperties()
          Retrieves the request properties set by the setRequestProperties() method that will be passed onto the view command.
 boolean isGeneric()
          Check to see if this is a generic command.
 boolean isRetriable()
          Check to see if this command is retriable on rollback exception
 TypedProperty mergeProperties(TypedProperty reqProp)
          Merges the properties passed to the request with the default properties defined in the cmdreg.
 void setGeneric(boolean value)
          Sets the generic property of this command.
 void setRequestProperties(TypedProperty requestProperties)
          The WebController calls this method before invoking the execute method in this command to set the request properties for this command.
 void setRetriable(boolean value)
          Sets the retriable property for this command.
 void setViewInputProperties(TypedProperty requestProperties)
          Sets the input properties to be passed to the for the view command.
 
Methods inherited from interface com.ibm.commerce.command.AccCommand
accessControlCheck, getAccCheck, getForUserId, setAccCheck, setForUserId, setOwner
 
Methods inherited from interface com.ibm.commerce.command.ECCommand
checkIsAllowed, checkResourcePermission, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, performExecute, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters
 
Methods inherited from interface com.ibm.commerce.security.Protectable
fulfills, getOwner
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
Method Detail

execute

public void execute()
             throws ECException
The execute() method will invoke the performExecute() method of the command.
Specified by:
execute in interface ECCommand
Throws:
ECException -  

getGeneric

public boolean getGeneric()
Gets the generic property. A generic command is a command that can be executed by a generic user.
Returns:
boolean - true if this command can be called by a generic user - false if this command cannot be called by a generic user

getRequestProperties

public TypedProperty getRequestProperties()
Gets the request properties set by the setRequestProperties() method.
Returns:
com.ibm.commerce.datatype.TypeProperty

getResolvedRequestProperties

public TypedProperty getResolvedRequestProperties()
Gets the resolved request properties associated with this command. This method is called after a controller command has been executed successfully. It return a a hashtable of name value pairs of interpreted request properties. This method needs to be implemented for all commands that accepts wild card parameter values and where user traffic data monitoring is desired. The command will return only the properties with expanded parameter values.
Returns:
com.ibm.commerce.datatype.TypeProperty

getResponseProperties

public TypedProperty getResponseProperties()
This method is called after a controller command has been executed successfully. It return a a hashtable of name value pairs. The controller command should normally return a view command name for returning response data. For example, it could contain the following properties: EC_VIEWTASKNAME (viewTaskName) - name of a view command / view task this is a required parameter EC_DOCPATHNAME (docname) - name of a jsp to be forwarded EC_TEXTDOCUMENT (textDocument)- inputStream for the text document to be returned EC_RAWDOCUMENT (rawDocument)- inputStream for the raw document to be returned EC_REDIRECTURL (redirecturl) - name of a redirect url or other additional information to be passed as requestParameters to the view command The response properties are combined with any default parameters defined in the properties column of the viewreg before passing on the the view command.
Returns:
com.ibm.commerce.datatype.TypeProperty

getRetriable

public boolean getRetriable()
Gets the retriable property for this command. The default implementation is to return false.
Returns:
boolean - true if this command is retriable - false if this command is not retriable

getViewInputProperties

public TypedProperty getViewInputProperties()
Retrieves the request properties set by the setRequestProperties() method that will be passed onto the view command. Command writer can overwrite this method to return all, part or non of the request properties to be passed to the view command
Returns:
com.ibm.commerce.datatype.TypeProperty

isGeneric

public boolean isGeneric()
Check to see if this is a generic command. A generic command is a command that can be invoked by a generic user. The default is false for all controller commands and true for all view commands.
Returns:
boolean - true if this command can be called by a generic user - false if this command cannot be called by a generic user

isRetriable

public boolean isRetriable()
Check to see if this command is retriable on rollback exception
Returns:
boolean - true if this command is retriable - false if this command is not retriable

mergeProperties

public TypedProperty mergeProperties(TypedProperty reqProp)
Merges the properties passed to the request with the default properties defined in the cmdreg. The default behavior is to give a higher priority to the properties passed in the request. The default properties is given a lower priority. Command implementators can overwrite this method if they want a different merge policy.
Parameters:
reqProp - com.ibm.commerce.datatype.TypedProperty - request input properties.
Returns:
com.ibm.commerce.datatype.TypedProperty - this will become the request properties for this command

setGeneric

public void setGeneric(boolean value)
Sets the generic property of this command. The generic property is initialized by the command factory code based on the properties specified in the cmdreg table.

Parameters:
value - boolean - true if the command is a generic command false if this command is not a generic command

setRequestProperties

public void setRequestProperties(TypedProperty requestProperties)
                          throws ECException
The WebController calls this method before invoking the execute method in this command to set the request properties for this command. It is the responsibility of the implementer of the ControllerCommand to extract the required input parameters from the request properties and perform parameter checking.
Parameters:
requestProperties - com.ibm.commerce.datatype.TypedProperty
Throws:
com.ibm.commerce.exception.ECException. -  

setRetriable

public void setRetriable(boolean value)
Sets the retriable property for this command. The retriable property is initialized command factory based on the properties defined in the cmdreg table.
Parameters:
value - boolean - true if retriable false if not retriable

setViewInputProperties

public void setViewInputProperties(TypedProperty requestProperties)
                            throws ECException
Sets the input properties to be passed to the for the view command. This is initialized to be the request properties for this command. Command writer can overwrite this method to limit the input properties that will be passed on to the view command.
Parameters:
requestProperties - com.ibm.commerce.datatype.TypedProperty
Throws:
com.ibm.commerce.exception.ECException. -