aboutsummaryrefslogtreecommitdiff
path: root/src/uk/org/ury/frontend/FrontendModule.java
blob: 8298ac528db5c1acfb30c50f56c8e8306ce7593f (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
/**
 * 
 */
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);
}