1 package net.sf.mmapps.modules.config;
2
3 /***
4 * This class represents the cloud configuration of an mmbase application
5 * @author Kees Jongenburger
6 * @version $Id: ApplicationConfiguration.java,v 1.1.1.1 2004/02/06 08:44:02 keesj Exp $
7 */
8 public interface ApplicationConfiguration {
9 /***
10 * @return the name of the application
11 **/
12 public String getName();
13
14 /***
15 * set the name of the application
16 */
17 public void setName(String name);
18
19 /***
20 * @return the maintainer
21 **/
22 public String getMaintainer();
23
24 /***
25 *
26 * @param maintiner the maintainer of the aplication(orgianisation/url)
27 */
28 public void setMaintainer(String maintiner);
29
30 /***
31 * @return the version of the application
32 **/
33 public String getVersion();
34
35 /***
36 *
37 * @param version the version of the application
38 */
39 public void setVersion(String version);
40
41 public void addDepends(String depends);
42
43 public void addRequiredNodeManager(String name);
44
45 public void addRelationManagerConfiguration(RelationManagerConfiguration conf);
46
47 public void addRelationType(RelationType relationType);
48 /***
49 * @return the list of NodeManager configurations defined by the application. This list contains
50 * node managers and "relation" node managers
51 **/
52 public NodeManagerConfigurations getNodeManagerConfigurations();
53
54 public void addNodeManagerConfiguration(NodeManagerConfiguration nodeManagerConfiguration);
55
56 public Strings getRequiredNodeManagers();
57
58 /***
59 * @return the list of defined possible relations between to nodemanagers (using a certain "relation" node manager)
60 **/
61 public RelationManagerConfigurations getRelationManagerConfigurations();
62
63 public RelationTypes getRelationTypes();
64 public RelationType getRelationType(String name);
65
66 public Strings getDepends();
67 public void add(ApplicationConfiguration applicationConfiguration);
68 }