When extending the ATG Commerce form handlers, keep the following important guidelines and concepts in mind:
A form handler subclass that you create should extend a subclass of
PurchaseProcessFormHandler(orPurchaseProcessFormHandlerdirectly).If you write any new code that modifies the
Orderobject, make sure the code synchronizes on theOrderobject before it is modified.Because many form handler methods already synchronize on the
Order, you should examine the source code at<ATG2007.3dir>\DCS\src\Java\atg\commerce\order\purchaseto determine whether your new code must do so.The handleXXX methods of the ATG Commerce form handlers invoke preXXX and postXXX methods before and after any computation is performed. For example, when a customer adds an item to their shopping cart using
CartModifierFormHandler, the submit button on the form submits to thehandleAddItemToOrdermethod. Before any computation is done, thehandleAddItemToOrdermethod invokes thepreAddItemToOrdermethod. Additionally, after all computation is complete but before returning any information, thehandleAddItemToOrdermethod invokes thepostAddItemToOrdermethod.By default these preXXX and postXXX methods have no functionality. They are provided so you can easily extend the form handlers to support additional functionality. However, be aware that these methods do not take any input parameters.

