1 package org.apache.turbine.services.assemblerbroker;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.turbine.modules.Assembler;
23 import org.apache.turbine.services.Service;
24 import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
25 import org.apache.turbine.util.TurbineException;
26
27 /***
28 * An interface the Turbine Assembler service.
29 * See TurbineAssemblerBrokerService for more info.
30 *
31 * @author <a href="mailto:leon@opticode.co.za">Leon Messerschmidt</a>
32 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
33 * @version $Id: AssemblerBrokerService.java 534527 2007-05-02 16:10:59Z tv $
34 */
35 public interface AssemblerBrokerService
36 extends Service
37 {
38 /*** Name of the Service */
39 String SERVICE_NAME = "AssemblerBrokerService";
40
41 /*** Predefined types for Turbine built-in assemblers: Actions */
42 String ACTION_TYPE = "action";
43
44 /*** Predefined types for Turbine built-in assemblers: Screens */
45 String SCREEN_TYPE = "screen";
46
47 /*** Predefined types for Turbine built-in assemblers: Navigations */
48 String NAVIGATION_TYPE = "navigation";
49
50 /*** Predefined types for Turbine built-in assemblers: Layouts */
51 String LAYOUT_TYPE = "layout";
52
53 /*** Predefined types for Turbine built-in assemblers: Pages */
54 String PAGE_TYPE = "page";
55
56 /*** Predefined types for Turbine built-in assemblers: Scheduler Jobs */
57 String SCHEDULEDJOB_TYPE = "scheduledjob";
58
59 /***
60 * Register an AssemblerFactory class for a given type
61 *
62 * @param type Type of the Factory
63 * @param factory The factory object
64 */
65 void registerFactory(String type, AssemblerFactory factory);
66
67 /***
68 * Attempts to load an Assembler of a type with a given name
69 *
70 * @param type The Type of the Assembler
71 * @param name The Name of the Assembler
72 * @return An Assembler object for the requested name and type
73 *
74 * @throws TurbineException Something went wrong while looking for the Assembler
75 */
76 Assembler getAssembler(String type, String name) throws TurbineException;
77 }