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 }