com.ibm.commerce.payment.commands
Class PrepareInvoiceCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.payment.commands.PrepareInvoiceCmdImpl
All Implemented Interfaces:
ECCommand, ECTargetableCommand, PrepareInvoiceCmd, TaskCommand

public class PrepareInvoiceCmdImpl
extends TaskCommandImpl
implements PrepareInvoiceCmd

This PrepareInvoiceCmd Task Command implementation class prepares an invoice for an order release in the form of an XML String, stores the String in the WebSphere Commerce database and sends the Invoice to the Buyer Contact of the Account in the form of an eMail if the Account has an Invoice Terms and Conditions that specify a delivery method using eMail.

This command uses the following AccessBeans:

This command does not call other TaskCommand.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.payment.commands. PrepareInvoiceCmd
COPYRIGHT, defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand
COPYRIGHT
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
PrepareInvoiceCmdImpl()
           
 
Method Summary
protected  java.sql.Timestamp getInvoiceDate()
          Returns the date for the invoice.
protected  java.lang.String getInvoiceId()
          Returns the internal ID of the invoice record.
protected  OrderAccessBean getOrder()
          Returns the OrderAccessBean representing the order.
protected  java.lang.Long getOrderId()
          Returns the ID of the order for which the Invoice is to be prepared.
protected  java.lang.Integer getOrderReleaseNum()
          Returns the Release Number of this Order Release for which the Invoice is to be prepared.
 boolean isReadyToCallExecute()
          This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command.
 void performExecute()
          Performs the main business logic of the command.
 void reset()
          Resets the instance variables of the command.
protected  void setInvoiceDate(java.sql.Timestamp newInvoiceDate)
          Sets the date of the invoice.
protected  void setInvoiceId(java.lang.String newInvoiceId)
          Sets the invoiceId property of the command.
 void setOrderId(java.lang.Long aOrderId)
          Sets the orderId property of the command.
 void setOrderReleaseNum(java.lang.Integer newOrderReleaseNum)
          Sets the orderReleaseNum property of the command.
 
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, validateParameters
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrepareInvoiceCmdImpl

public PrepareInvoiceCmdImpl()
Method Detail

getInvoiceDate

protected java.sql.Timestamp getInvoiceDate()
Returns the date for the invoice.
Returns:
the invoice date

getInvoiceId

protected java.lang.String getInvoiceId()
Returns the internal ID of the invoice record.
Returns:
the invoice ID

getOrder

protected OrderAccessBean getOrder()
Returns the OrderAccessBean representing the order.
Returns:
the OrderAccessBean

getOrderId

protected java.lang.Long getOrderId()
Returns the ID of the order for which the Invoice is to be prepared.
Returns:
the ID of the order.

getOrderReleaseNum

protected java.lang.Integer getOrderReleaseNum()
Returns the Release Number of this Order Release for which the Invoice is to be prepared.
Returns:
the Release Number of the order release record

isReadyToCallExecute

public boolean isReadyToCallExecute()
This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command. This is done before the Framework calls the performExecute method of the command.
Overrides:
isReadyToCallExecute in class AbstractECTargetableCommand
Returns:
true if we can execute the command; false otherwise.

performExecute

public void performExecute()
                    throws ECException
Performs the main business logic of the command.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

reset

public void reset()
Resets the instance variables of the command. The reset() method will reset all instance variables. If the command includes any output values that are accessible via getters, then make sure those values are no longer needed before calling this method to reset the instance variables of the command.

This is useful if the command instance is to be called multiple times with different command parameters.

Overrides:
reset in class AbstractECTargetableCommand

setInvoiceDate

protected void setInvoiceDate(java.sql.Timestamp newInvoiceDate)
Sets the date of the invoice.
Parameters:
newInvoiceDate - the invoice date

setInvoiceId

protected void setInvoiceId(java.lang.String newInvoiceId)
Sets the invoiceId property of the command.
Parameters:
newInvoiceId - the invoice ID

setOrderId

public void setOrderId(java.lang.Long aOrderId)
Sets the orderId property of the command.
Specified by:
setOrderId in interface PrepareInvoiceCmd
Parameters:
aOrderId - The order reference number of the Order for which an Invoice is to be prepared.

setOrderReleaseNum

public void setOrderReleaseNum(java.lang.Integer newOrderReleaseNum)
Sets the orderReleaseNum property of the command.
Specified by:
setOrderReleaseNum in interface PrepareInvoiceCmd
Parameters:
newOrderReleaseNum - The order release reference number of the Order for which an Invoice is to be prepared.