View Javadoc

1   /**
2    * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
3    * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
4    * http://www.digitalis.pt
5    */
6   package pt.digitalis.dif.dem.managers;
7   
8   import java.util.Map;
9   
10  import pt.digitalis.dif.dem.Entity;
11  import pt.digitalis.dif.dem.interfaces.IApplication;
12  import pt.digitalis.dif.dem.interfaces.IEntity;
13  import pt.digitalis.dif.dem.interfaces.IProvider;
14  import pt.digitalis.dif.dem.interfaces.IService;
15  import pt.digitalis.dif.dem.interfaces.IStage;
16  
17  /**
18   * This interface manages the DEM entities, providing the connections between the elements to the CodeGen module.
19   *
20   * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
21   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
22   * @created Oct 3, 2007
23   */
24  public interface IDEMManager {
25  
26      /**
27       * Returns all applications related to the given provider.
28       *
29       * @param provider
30       *            the provider
31       * @return a map of all applications associated with the provider
32       */
33      public Map<String, IApplication> getApplications(IProvider provider);
34  
35      /**
36       * Returns all services related to the given application.
37       *
38       * @param application
39       *            the application
40       * @return a map of all services associated with the application
41       */
42      public Map<String, IService> getServices(IApplication application);
43  
44      /**
45       * Returns all stages related to the given service.
46       *
47       * @param service
48       *            the service
49       * @return a map with all the stages related to the service
50       */
51      public Map<String, IStage> getStages(IService service);
52  
53      /**
54       * Returns all registered providers.
55       *
56       * @return a map with all the registered providers.
57       */
58      public Map<String, IProvider> getProviders();
59  
60      /**
61       * Returns the provider with the given id
62       *
63       * @param providerID
64       *            the provider id
65       * @return the provider
66       */
67      public IProvider getProvider(String providerID);
68  
69      /**
70       * Returns the application with the given id
71       *
72       * @param applicationID
73       *            the application id
74       * @return the application
75       */
76      public IApplication getApplication(String applicationID);
77  
78      /**
79       * Returns the service with the given id
80       *
81       * @param serviceID
82       *            the service id
83       * @return the service
84       */
85      public IService getService(String serviceID);
86  
87      /**
88       * Returns the stage with the given id
89       *
90       * @param stageID
91       *            the stage id
92       * @return the stage
93       */
94      public IStage getStage(String stageID);
95  
96      /**
97       * Returns the entity with the given id
98       *
99       * @param type
100      *            the entity type
101      * @param entityID
102      *            the entity ID
103      * @return the entity object
104      */
105     public IEntity getEntity(Entity type, String entityID);
106 
107     /**
108      * Returns the default provider
109      *
110      * @return the provider
111      */
112     public IProvider getDefaultProvider();
113 }