1    package com.instantbank.servicing.control.ejb;
2    
3    import java.util.Collection;
4    import java.util.List;
5    import java.rmi.RemoteException;
6    import javax.ejb.EJBObject;
7    import javax.ejb.FinderException;
8    import com.instantbank.component.parameter.ejb.Parameter;
9    import com.instantbank.servicing.control.ServicingEventException;
10   import com.instantbank.servicing.control.event.ServicingEvent;
11   
12   /**
13    *  This is the EJB-tier controller of the MVC. It is implemented as a session
14    *  EJB. It controls all the activities that happen in a client session
15    *  (managing update events through handleEvent() method) It also provides
16    *  mechanisms to access other session EJBs and variables: get services for
17    *  obtaining session variables and for contacting EJBs (entity or session)
18    *  which are instanced for the user.
19    *
20    * @author Instant-bank (Consuelo Franky)
21    * @created September 2002
22    */
23   public interface ServicingController extends EJBObject {
24   
25     /**
26      *  Principal service: Feeds the specified event to the state machine of the
27      *  business logic.
28      *
29      * @param ese event associated to a user request
30      * @return a list of models (EJBs names)
31      *      that got updated because of the processing of this event. In
32      *      addition, the first element of the list contains the service answer
33      *      (or the "" string when this answer is not required)
34      * @exception ServicingEventException
35      * @throws RemoteException Description of the Exception
36      */
37     public Collection handleEvent(ServicingEvent ese)
38        throws RemoteException, ServicingEventException;
39   
40   
41     /**
42      * get reference to Parameter EJB
43      *
44      * @param companyId current company
45      * @param userId current user
46      * @return the Parameter session bean for this session
47      * @exception RemoteException
48      */
49     public Parameter getParameter(String companyId, Long userId)
50        throws RemoteException;
51   
52   
53   
54     /**
55      * @return the w variable for this session
56      * @exception RemoteException
57      */
58     public String getW() throws RemoteException;
59   
60   }
61   
62