com.ibm.commerce.order.commands
Class PreProcessOrderCmdImpl

java.lang.Object
  |
  +--com.ibm.commerce.command.AbstractECCommand
        |
        +--com.ibm.commerce.command.TaskCommandImpl
              |
              +--com.ibm.commerce.order.commands.PreProcessOrderCmdImpl
All Implemented Interfaces:
ECCommand, PreProcessOrderCmd, ProcessOrderCmd, TaskCommand

public class PreProcessOrderCmdImpl
extends TaskCommandImpl
implements PreProcessOrderCmd


Fields inherited from class com.ibm.commerce.command.AbstractECCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.order.commands.PreProcessOrderCmd
COPYRIGHT, defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.order.commands.ProcessOrderCmd
VAL_NOTIFY_NO, VAL_NOTIFY_YES
 
Constructor Summary
PreProcessOrderCmdImpl()
           
 
Method Summary
 java.lang.String getAvailabilityChangeURL()
          Gets the URL to redirect to when the estimated availability time plus the shipping offset for any order item moves into the future (as a result of allocating or backordering inventory) by more than the time interval specified by the setMaxAvailabilityChange method.
 java.lang.Long getBillToRn()
          Gets the reference number of the address to bill.
 java.lang.Integer getField1()
          Gets merchant-customizable field one.
 java.math.BigDecimal getField2()
          Gets merchant-customizable field two.
 java.lang.String getField3()
          Gets merchant-customizable field three.
 java.lang.Long getMaxAvailabilityChange()
          Gets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method.
 java.lang.String getNoInventoryURL()
          Gets the URL to redirect to if any of the order items in the order cannot be allocated or backordered.
 java.lang.Short getNotifyMerchant()
          Determines whether the store should be notified when the order processing is complete.
 java.lang.Short getNotifyOrderSubmitted()
          Determines whether the customer should be notified when the order is successfully submitted for processing.
 java.lang.Short getNotifyShopper()
          Determines whether the customer should be notified when the order processing is complete.
 java.lang.Long getOrderRn()
          Gets the order reference number.
 java.lang.String getQuoteExpiredURL()
          Gets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.
 java.lang.String getQuoteExpiryPolicy()
          Gets the policy which determines the command behaviour if the order total expires or an order item's fulfillment center changes during inventory allocation.
 TypedProperty getResponseProperties()
          Gets the response properties object for the calling controller command to use.
 boolean isReadyToCallExecute()
          Checks the validity of the parameters
 void performExecute()
          Main business logic
 void reset()
          This method should be called after a command has been executed to reset its states variables.
 void setAvailabilityChangeURL(java.lang.String newAvailabilityChangeURL)
          Sets the URL to redirect to when the estimated availability time plus the shipping offset for any order item moves into the future (as a result of allocating or backordering inventory) by more than the time interval specified by the setMaxAvailabilityChange method.
 void setBillToRn(java.lang.Long anBillToRn)
          Sets the reference number of the address to bill.
 void setField1(java.lang.Integer anField1)
          Sets merchant-customizable field one.
 void setField2(java.math.BigDecimal adField2)
          Sets merchant-customizable field two.
 void setField3(java.lang.String astrField3)
          Sets merchant-customizable field three.
 void setMaxAvailabilityChange(java.lang.Long newMaxAvailabilityChange)
          Sets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method.
 void setNoInventoryURL(java.lang.String newNoInventoryURL)
          Sets the URL to redirect to if any of the order items in the order cannot be allocated or backordered.
 void setNotifyMerchant(java.lang.Short newNotifyMerchant)
          Specifies whether to notify the merchant when the order has been processed.
 void setNotifyOrderSubmitted(java.lang.Short newNotifyOrderSubmitted)
          Specifies whether the customer should be notified when the order is successfully submitted for processing.
 void setNotifyShopper(java.lang.Short newNotifyShopper)
          Specifies whether to notify the shopper when the order has been processed.
 void setOrderRn(java.lang.Long anOrderRn)
          Sets the order reference number.
 void setQuoteExpiredURL(java.lang.String newQuoteExpiredURL)
          Sets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.
 void setQuoteExpiryPolicy(java.lang.String newQuoteExpiryPolicy)
          Sets the behavior of the command if the order total expires or an order item's fulfillment center changes during inventory allocation.
 void setRequestProperties(TypedProperty reqParms)
           
 void validateParameters()
          Checks the validity of the parameters
 
Methods inherited from class com.ibm.commerce.command.AbstractECCommand
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.commerce.command.ECCommand
checkIsAllowed, checkResourcePermission, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties
 

Constructor Detail

PreProcessOrderCmdImpl

public PreProcessOrderCmdImpl()
Method Detail

getAvailabilityChangeURL

public java.lang.String getAvailabilityChangeURL()
Gets the URL to redirect to when the estimated availability time plus the shipping offset for any order item moves into the future (as a result of allocating or backordering inventory) by more than the time interval specified by the setMaxAvailabilityChange method.

getBillToRn

public java.lang.Long getBillToRn()
Gets the reference number of the address to bill.

getField1

public java.lang.Integer getField1()
Gets merchant-customizable field one.

getField2

public java.math.BigDecimal getField2()
Gets merchant-customizable field two.

getField3

public java.lang.String getField3()
Gets merchant-customizable field three.

getMaxAvailabilityChange

public java.lang.Long getMaxAvailabilityChange()
Gets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method.

getNoInventoryURL

public java.lang.String getNoInventoryURL()
Gets the URL to redirect to if any of the order items in the order cannot be allocated or backordered.

getNotifyMerchant

public java.lang.Short getNotifyMerchant()
Determines whether the store should be notified when the order processing is complete.

getNotifyOrderSubmitted

public java.lang.Short getNotifyOrderSubmitted()
Determines whether the customer should be notified when the order is successfully submitted for processing.

getNotifyShopper

public java.lang.Short getNotifyShopper()
Determines whether the customer should be notified when the order processing is complete.

getOrderRn

public java.lang.Long getOrderRn()
Gets the order reference number.

getQuoteExpiredURL

public java.lang.String getQuoteExpiredURL()
Gets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.

getQuoteExpiryPolicy

public java.lang.String getQuoteExpiryPolicy()
Gets the policy which determines the command behaviour if the order total expires or an order item's fulfillment center changes during inventory allocation.

getResponseProperties

public TypedProperty getResponseProperties()
Gets the response properties object for the calling controller command to use.
Specified by:
getResponseProperties in interface ProcessOrderCmd

isReadyToCallExecute

public boolean isReadyToCallExecute()
Checks the validity of the parameters
Overrides:
isReadyToCallExecute in class AbstractECCommand
Following copied from class: com.ibm.commerce.command.AbstractECCommand
Returns:
boolean - true if we can execute the command false if we canot execute the command

performExecute

public void performExecute()
                    throws ECException
Main business logic
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECCommand
Following copied from interface: com.ibm.commerce.command.ECCommand
Throws:
com.ibm.commerce.command.CommandException - The superclass for all ECExceptions.

reset

public void reset()
This method should be called after a command has been executed to reset its states variables.
Overrides:
reset in class AbstractECCommand

setAvailabilityChangeURL

public void setAvailabilityChangeURL(java.lang.String newAvailabilityChangeURL)
Sets the URL to redirect to when the estimated availability time plus the shipping offset for any order item moves into the future (as a result of allocating or backordering inventory) by more than the time interval specified by the setMaxAvailabilityChange method. This parameter is ignored if ATP inventory allocation is not enabled.
Specified by:
setAvailabilityChangeURL in interface ProcessOrderCmd

setBillToRn

public void setBillToRn(java.lang.Long anBillToRn)
Sets the reference number of the address to bill.
Specified by:
setBillToRn in interface ProcessOrderCmd

setField1

public void setField1(java.lang.Integer anField1)
Sets merchant-customizable field one.
Specified by:
setField1 in interface ProcessOrderCmd

setField2

public void setField2(java.math.BigDecimal adField2)
Sets merchant-customizable field two.
Specified by:
setField2 in interface ProcessOrderCmd

setField3

public void setField3(java.lang.String astrField3)
Sets merchant-customizable field three.
Specified by:
setField3 in interface ProcessOrderCmd

setMaxAvailabilityChange

public void setMaxAvailabilityChange(java.lang.Long newMaxAvailabilityChange)
Sets the time interval, in seconds, used with the url set by the setAvailabilityChangeURL method. The default value is 3600 (one hour). This parameter is ignored if the availabilityChangeURL is not specified, or if ATP inventory allocation is not enabled.
Specified by:
setMaxAvailabilityChange in interface ProcessOrderCmd

setNoInventoryURL

public void setNoInventoryURL(java.lang.String newNoInventoryURL)
Sets the URL to redirect to if any of the order items in the order cannot be allocated or backordered. This parameter is ignored if ATP inventory allocation is not enabled.
Specified by:
setNoInventoryURL in interface ProcessOrderCmd

setNotifyMerchant

public void setNotifyMerchant(java.lang.Short newNotifyMerchant)
Specifies whether to notify the merchant when the order has been processed. If the value set to 1, the merchant will be notified. If the value is set to 0, the merchant will not be notified.
Specified by:
setNotifyMerchant in interface ProcessOrderCmd

setNotifyOrderSubmitted

public void setNotifyOrderSubmitted(java.lang.Short newNotifyOrderSubmitted)
Specifies whether the customer should be notified when the order is successfully submitted for processing. Valid values include :

1=Yes

0=No (default)

Specified by:
setNotifyOrderSubmitted in interface ProcessOrderCmd

setNotifyShopper

public void setNotifyShopper(java.lang.Short newNotifyShopper)
Specifies whether to notify the shopper when the order has been processed. If the value set to 1, the shopper will be notified. If the value is set to 0, the shopper will not be notified.
Specified by:
setNotifyShopper in interface ProcessOrderCmd

setOrderRn

public void setOrderRn(java.lang.Long anOrderRn)
Sets the order reference number.
Specified by:
setOrderRn in interface ProcessOrderCmd

setQuoteExpiredURL

public void setQuoteExpiredURL(java.lang.String newQuoteExpiredURL)
Sets the URL to redirect to if the order total expired in agreement with the expiry policy set by the setQuoteExpiryPolicy method.
Specified by:
setQuoteExpiredURL in interface ProcessOrderCmd

setQuoteExpiryPolicy

public void setQuoteExpiryPolicy(java.lang.String newQuoteExpiryPolicy)
Sets the behavior of the command if the order total expires or an order item's fulfillment center changes during inventory allocation. Order total expires if the current time is greater than or equal to the order last update timestamp plus the number of seconds specified in the QUOTEGOODFOR column of the STORE table. This parameter may have three values:

  1. alwaysProceed - always proceed with processing the order after recalculating order total.
  2. stopOnBiggerTotal - proceed with processing the order if the recalculated order total is unchanged or less than the previous order total. Otherwise, redirect to a URL set by the setQuoteExpiredUrl method.
  3. neverProceed - always redirect to the URL specified by the set by the setQuoteExpiredUrl method.
Specified by:
setQuoteExpiryPolicy in interface ProcessOrderCmd

setRequestProperties

public void setRequestProperties(TypedProperty reqParms)
                          throws ECApplicationException
Specified by:
setRequestProperties in interface PreProcessOrderCmd

validateParameters

public void validateParameters()
                        throws ECException
Checks the validity of the parameters
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECCommand
Following copied from interface: com.ibm.commerce.command.ECCommand
Throws:
ECException. -