1 package com.sri.emo.wizard;
2
3
4 import com.jcorporate.expresso.core.controller.ControllerException;
5 import com.jcorporate.expresso.core.controller.ExpressoRequest;
6 import com.jcorporate.expresso.core.controller.ExpressoResponse;
7 import com.sri.emo.dbobj.WizDefinition;
8
9
10 /***
11 * Common interface for all wizard managers regardless of wizard type.
12 * The <tt>WizardGateway</tt> object dispatches to the wizard managers
13 * based on the data entered in the Wizard definition object. Essentially
14 * it provides a sort of <tt>Strategy</tt> object to allow multiple types of
15 * wizards to be hooked under a common management interface.
16 *
17 * @author Michael Rimov
18 * @version 1.0
19 */
20 public interface IWizardManager {
21
22 /***
23 * Begins an 'add' end-user transaction to create a new wizard.
24 *
25 * @param request ExpressoRequest the request object.
26 * @param response ExpressoResponse the response object.
27 * @throws ControllerException
28 */
29 public void add(ExpressoRequest request, ExpressoResponse response) throws ControllerException;
30
31
32 /***
33 * Begins an 'edit' end-user transaction to edit an existing wizard.
34 *
35 * @param wizard The WizardDefinition to edit.
36 * @param request ExpressoRequest the request object.
37 * @param response ExpressoResponse the response object.
38 * @throws ControllerException upon error.
39 */
40 public void edit(WizDefinition wizard, ExpressoRequest request, ExpressoResponse response) throws
41 ControllerException;
42
43
44 /***
45 * Runs the wizard that the manager is associated with.
46 *
47 * @param wizard WizDefinition
48 * @param request ExpressoRequest
49 * @param response ExpressoResponse
50 * @throws ControllerException
51 */
52 public void run(WizDefinition wizard, ExpressoRequest request, ExpressoResponse response) throws
53 ControllerException;
54
55 }