aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendModule.java
blob: 4d1e3bf6076ed94b55099ec3ed2143b184f1750e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**
 * 
 */
package uk.org.ury.frontend;

/**
 * Interface for all system modules that are to be reachable from 
 * the frontend array.
 * 
 * Frontend-exposed modules must:
 * 
 * - be runnable standalone, as either an application or an applet;
 * 
 * - contain their user interface in a subclass of FrontendModulePanel 
 *   which can be embedded either in a FrontendFrame, a web page 
 *   or another module;
 *   
 * - use the frontend error reporting systems.
 * 
 * An abstract implementation of this interface, 
 * AbstractFrontendModule, is provided to simplify the creation of 
 * frontend modules.
 * 
 * @author Matt Windsor
 *
 */

public interface FrontendModule
{
  /**
   * Begin execution of the frontend module.
   * 
   * @param master   The FrontendMaster driving the frontend.
   * 
   * @return        the frontend panel to insert into the 
   *                FrontendMaster.
   */
  
  public FrontendModulePanel
  runFrontend (FrontendMaster master);
}