com.softslate.commerce.businessobjects.customer
Interface CustomerProcessor

All Superinterfaces:
BusinessObject
All Known Implementing Classes:
BasicCustomerProcessor

public interface CustomerProcessor
extends BusinessObject

Interface for business logic methods having to do with customer accounts and related objects. Created in the Struts layer in response to requests for information about an exisiting customer account, or to create new accounts.

When the application needs to create an instance that implements CustomerProcessor, BusinessObjectFactory finds the name of the Java class to instantiate from the "customerProcessorImplementer" setting in the npcSetting database table.

The default "customerProcessorImplementer" is BasicCustomerProcessor.

Author:
David Tobey

Method Summary
 void addCustomer(java.util.Map parameters)
           
 void deleteCustomer(java.util.Map parameters)
           
 void editCustomer(java.util.Map parameters)
           
 void editDeleteCustomers(java.util.Map parameters)
           
 Customer getCustomer()
          Retrieves the Customer object currently being processed.
 java.util.Collection loadActiveCustomers()
           
 java.util.Map loadCustomerFromID(java.util.Map parameters)
           
 void loadCustomerLostPassword(java.util.Map parameters)
          Loads the Customer property of this CustomerProcesor from the database given a Map containing the userName.
 java.util.Map loadCustomersAndCount(java.util.Map parameters)
           
 Order loadOrderDetails(java.util.Map parameters)
          Loads all of the database information corresponding to a given order number for a given customer.
 java.util.Map loadOrderHistory()
          Loads a customer's order history from the database.
 java.util.Map processLogin(java.util.Map parameters)
          Processes a login attempt given a user name and password.
 java.util.Map processRegister(java.util.Map parameters)
          Processes a request to register or add a new customer account into the system.
 void setCustomer(Customer customer)
          Sets the Customer object to be processed by this CustomerProcessor.
 java.util.Map updateAddresses(java.util.Map parameters)
          Updates a customer's address information.
 java.util.Map updateCustomer(java.util.Map parameters)
          Updates a customer's account information.
 
Methods inherited from interface com.softslate.commerce.businessobjects.core.BusinessObject
initialize
 

Method Detail

getCustomer

public Customer getCustomer()
Retrieves the Customer object currently being processed. Client code often sets this Customer property before calling processing methods, and retrieves it afterwards.

Returns:
The Customer object currently being processed.

setCustomer

public void setCustomer(Customer customer)
Sets the Customer object to be processed by this CustomerProcessor. Client code often sets this Customer property before calling processing methods, and retrieves it afterwards.


processRegister

public java.util.Map processRegister(java.util.Map parameters)
                              throws java.lang.Exception
Processes a request to register or add a new customer account into the system. The incoming Map should have at least two keys: userName and password, which will be used for the new account. If successful, the Customer property of the current User will be populated with the new account's information. If an account already exists with the same userName, an exception whose message is "userName not unique" is thrown.

Parameters:
parameters - A Map containing the user name and password for the new customer account.
Throws:
java.lang.Exception

processLogin

public java.util.Map processLogin(java.util.Map parameters)
                           throws java.lang.Exception
Processes a login attempt given a user name and password. The incoming Map must have two keys: userName and password. If the login attempt succeeds, the Customer property of the current User will be populated with the database information for the customer account. If the user name and password don't match an account in the database, an exception is thrown whose message is "invalid login".

Parameters:
parameters - A Map containing the user name and password for the customer attempting to log in.
Throws:
java.lang.Exception

updateAddresses

public java.util.Map updateAddresses(java.util.Map parameters)
                              throws java.lang.Exception
Updates a customer's address information. The incoming Map should contain keys corresponding to the delivery address properties of CustomerAddress, and the billing address properties of Customer. The Customer property of the current user, and the first CustomerAddress in the customerAddressCollection of the Customer are modified with the incoming address information. Then the database records for the customer and the customer address are updated in npcCustomer and npcCustomerAddress.

Parameters:
parameters - A Map containing the address information for the current user, which is to be used to update the account.
Throws:
java.lang.Exception

updateCustomer

public java.util.Map updateCustomer(java.util.Map parameters)
                             throws java.lang.Exception
Updates a customer's account information. The incoming Map should contain keys corresponding to the properties of Customer. The Customer property of the current user is modified with the account information contained in the incoming Map. Then the database record for the customer is updated. Used to process a changed password.

Parameters:
parameters - A Map containing the account information for the current user, which is to be used to update the account.
Throws:
java.lang.Exception

loadCustomerLostPassword

public void loadCustomerLostPassword(java.util.Map parameters)
                              throws java.lang.Exception
Loads the Customer property of this CustomerProcesor from the database given a Map containing the userName. Used in the lost password form, when a customer must be retireved from database without a password.

If the customer corresponding to the user name in the Map does not exist in the database, an exception is thrown whose message is "userName not found".

Parameters:
parameters - A Map containing the user name of a given customer.
Throws:
java.lang.Exception

loadOrderHistory

public java.util.Map loadOrderHistory()
                               throws java.lang.Exception
Loads a customer's order history from the database. If successful, the Customer property of the current User will have its orderHistory property populated with information from the database about all of the customer's previous orders in the store.

Throws:
java.lang.Exception

loadOrderDetails

public Order loadOrderDetails(java.util.Map parameters)
                       throws java.lang.Exception
Loads all of the database information corresponding to a given order number for a given customer. Populates the orderDeliveryCollection property for the Order and the orderItemCollection properties for each OrderDelivery. Used to retireve the order details for a customer viewing his or her order history.

Parameters:
parameters - A Map containing a key named orderNumber with the order number of a given order.
Returns:
An Order populated with information from the database.
Throws:
java.lang.Exception

loadActiveCustomers

public java.util.Collection loadActiveCustomers()
                                         throws java.lang.Exception
Throws:
java.lang.Exception

loadCustomersAndCount

public java.util.Map loadCustomersAndCount(java.util.Map parameters)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

addCustomer

public void addCustomer(java.util.Map parameters)
                 throws java.lang.Exception
Throws:
java.lang.Exception

loadCustomerFromID

public java.util.Map loadCustomerFromID(java.util.Map parameters)
                                 throws java.lang.Exception
Throws:
java.lang.Exception

editCustomer

public void editCustomer(java.util.Map parameters)
                  throws java.lang.Exception
Throws:
java.lang.Exception

editDeleteCustomers

public void editDeleteCustomers(java.util.Map parameters)
                         throws java.lang.Exception
Throws:
java.lang.Exception

deleteCustomer

public void deleteCustomer(java.util.Map parameters)
                    throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © SoftSlate, Inc. 2003–2005