|
Customer |
|
/* * $Id: Customer.java,v 1.7.4.6 2001/03/14 10:03:07 vijaysr Exp $ * Copyright 2001 Sun Microsystems, Inc. All rights reserved. * Copyright 2001 Sun Microsystems, Inc. Tous droits réservés. */ package com.sun.j2ee.blueprints.customer.customer.ejb; import java.util.Collection; import java.util.Locale; import java.rmi.RemoteException; import javax.ejb.EJBObject; import javax.ejb.CreateException; import javax.ejb.FinderException; import javax.ejb.DuplicateKeyException; import com.sun.j2ee.blueprints.customer.account.model.AccountModel; import com.sun.j2ee.blueprints.customer.util.ContactInformation; import com.sun.j2ee.blueprints.customer.order.model.OrderModel; import com.sun.j2ee.blueprints.customer.order.ejb.Order; import com.sun.j2ee.blueprints.customer.account.ejb.Account; import com.sun.j2ee.blueprints.customer.util.Address; import com.sun.j2ee.blueprints.customer.util.CreditCard; import com.sun.j2ee.blueprints.customer.customer.exceptions.CustomerAppException; /** * This is the session facade for the customer component. This is implemented * as a session bean which exports interfaces of the Account and order * components */ public interface Customer extends EJBObject { /** * Gets the account details give an user id * @param userId a string that represents the user Id * @return the <code>AccountModel</code> that has the account information * corresponding to a customer's account. * @throws <code>RemoteException</code> for irrecoverable errors * @throws <code>FinderException</code> if the user details was not found */ public AccountModel getAccountDetails(String userId) throws RemoteException, FinderException; /** * updates the contact information for the specified account * @param info the <code>ContactInformation</code> of the user * @param userId a string that represents the user Id * @throws <code>RemoteException</code> for irrecoverable errors * @throws <code>FinderException</code> if the user was not found */ public void changeContactInformation(ContactInformation info, String userId) throws RemoteException, FinderException; /** * Create interface of AccountHome component * @param userId a string that represents the user * @param password a string that represents the password of the user * @param status a string the represents the user's status * @param info the <code>ContactInformation</code> of the user * @return <code>true</code> if create was OK; <code>false</code> ifnot * @throws <code>RemoteException</code> for irrecoverable errors * @throws <code>CreateException</code> if account could not be created * @throws <code>DuplicateKeyException</code> if an account with the same * user id is already present * @throws <code>CustomerAppException</code> if there was an user error */ public boolean createAccount(String userId, String password, String status, ContactInformation info) throws RemoteException, CreateException, DuplicateKeyException, CustomerAppException; /** * Return the details of an order * @param orderId an integer the order Id * @return <code>OrderModel</code> that has the order details * @throws <code>RemoteException</code> for irrecoverable errors * @throws <code>FinderException</code> if the order details was not found */ public OrderModel getOrderDetails(int orderId) throws RemoteException, FinderException; /** * Create interface of Order component * @return an integer that represents the order ID * @throws <code>RemoteException</code> for irrecoverable errors * @throws <code>CreateException</code> if account could not be created * @throws <code>CustomerAppException</code> if there was an user error */ public int createOrder(String userId, Collection lineItems, Address shipToAddr, Address billToAddr, String shipToFirstName, String shipToLastName, String billToFirstName, String billToLastName, CreditCard chargeCard, String carrier, double totalPrice, Locale locale) throws RemoteException, CreateException, CustomerAppException; }
|
Customer |
|