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 pt.digitalis.dif.dem.Entity; 9 import pt.digitalis.dif.dem.interfaces.IStage; 10 import pt.digitalis.dif.dem.objects.LicenseEditionType; 11 import pt.digitalis.dif.exception.manager.RegistrationManagerException; 12 13 /** 14 * This interface manages the DEM entities registration process. 15 * 16 * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a> 17 * @created Oct 3, 2007 18 */ 19 public interface IRegistrationManager { 20 21 /** 22 * Adds a new record to the registry. User registrations will be automatically picked up by the Registry 23 * 24 * @param type 25 * the Entity type 26 * @param entityID 27 * the entity ID 28 * @param name 29 * the name to register to (null if not registered by default) 30 * @param registrable 31 * if the Entity is registrable 32 */ 33 public void addToRegistry(Entity type, String entityID, String name, boolean registrable); 34 35 /** 36 * Inspects the Application Edition 37 * 38 * @param applicationID 39 * the application ID 40 * @return {@link LicenseEditionType} 41 */ 42 public LicenseEditionType getApplicationEdition(String applicationID); 43 44 /** 45 * Inspects the Provider Edition 46 * 47 * @param providerID 48 * the provider ID 49 * @return {@link LicenseEditionType} 50 */ 51 public LicenseEditionType getProviderEdition(String providerID); 52 53 /** 54 * Inspects the Service Edition 55 * 56 * @param serviceID 57 * the service ID 58 * @return {@link LicenseEditionType} 59 */ 60 public LicenseEditionType getServiceEdition(String serviceID); 61 62 /** 63 * Inspects the Stage Client Name 64 * 65 * @param stageID 66 * the stage ID 67 * @return the stage client name 68 */ 69 public String getStageClientName(IStage stageID); 70 71 /** 72 * Inspects the Stage Edition 73 * 74 * @param stageID 75 * the stage ID 76 * @return {@link LicenseEditionType} 77 */ 78 public LicenseEditionType getStageEdition(String stageID); 79 80 /** 81 * Inspects the registration state of a given application 82 * 83 * @param applicationID 84 * the provider ID 85 * @return T if the application is registered, F otherwise 86 */ 87 public boolean isApplicationRegistered(String applicationID); 88 89 /** 90 * Inspects the registration possibility of a given application 91 * 92 * @param applicationID 93 * the provider ID 94 * @return T if the application is registrable, F otherwise 95 */ 96 public boolean isApplicationRegistrable(String applicationID); 97 98 /** 99 * Inspects the registration state of a given provider 100 * 101 * @param providerID 102 * the provider ID 103 * @return T if the provider is registered, F otherwise 104 */ 105 public boolean isProviderRegistered(String providerID); 106 107 /** 108 * Inspects the registration possibility of a given provider 109 * 110 * @param providerID 111 * the provider ID 112 * @return T if the provider is registrable, F otherwise 113 */ 114 public boolean isProviderRegistrable(String providerID); 115 116 /** 117 * Inspects the registration state of a given service 118 * 119 * @param serviceID 120 * the service ID 121 * @return T if the service is registered, F otherwise 122 */ 123 public boolean isServiceRegistered(String serviceID); 124 125 /** 126 * Inspects the registration possibility of a given service 127 * 128 * @param serviceID 129 * the service ID 130 * @return T if the service is registrable, F otherwise 131 */ 132 public boolean isServiceRegistrable(String serviceID); 133 134 /** 135 * Inspects the registration state of a given stage 136 * 137 * @param stageId 138 * the stage ID 139 * @return T if the stage is registered, F otherwise 140 */ 141 public boolean isStageRegistered(String stageId); 142 143 /** 144 * Inspects the registration possibility of a given stage 145 * 146 * @param stageId 147 * the stage ID 148 * @return T if the stage is registrable, F otherwise 149 */ 150 public boolean isStageRegistrable(String stageId); 151 152 /** 153 * Registers a given application if it's not already registered. 154 * 155 * @param applicationID 156 * the application ID 157 * @param name 158 * the name to register to 159 * @param key 160 * the key to register 161 * @throws RegistrationManagerException 162 * if a error occurrs in registration manager 163 * @return T if the registration was successful 164 */ 165 public boolean registerApplication(String applicationID, String name, String key) 166 throws RegistrationManagerException; 167 168 /** 169 * Registers a given provider if it's not already registered. 170 * 171 * @param providerID 172 * the provider ID 173 * @param name 174 * the name to register to 175 * @param key 176 * the key to register 177 * @return T if the registration was successful 178 * @throws RegistrationManagerException 179 * if a error occurrs in registration manager 180 */ 181 public boolean registerProvider(String providerID, String name, String key) throws RegistrationManagerException; 182 183 /** 184 * Registers a given service if it's not already registered. 185 * 186 * @param serviceID 187 * the service ID 188 * @param name 189 * the name to register to 190 * @param key 191 * the key to register 192 * @throws RegistrationManagerException 193 * if a error occurrs in registration manager 194 * @return T if the registration was successful 195 */ 196 public boolean registerService(String serviceID, String name, String key) throws RegistrationManagerException; 197 198 /** 199 * Registers a given stage if it's not already registered. 200 * 201 * @param stageId 202 * the stage ID 203 * @param name 204 * the name to register to 205 * @param key 206 * the key to register 207 * @throws RegistrationManagerException 208 * if a error occurrs in registration manager 209 * @return T if the registration was successful 210 */ 211 public boolean registerStage(String stageId, String name, String key) throws RegistrationManagerException; 212 213 /** 214 * Unregisters a given application if it's registered. 215 * 216 * @param applicationID 217 * the application ID 218 */ 219 public void unregisterApplication(String applicationID); 220 221 /** 222 * Unregisters a given provider if it's registered. 223 * 224 * @param providerID 225 * the provider ID 226 */ 227 public void unregisterProvider(String providerID); 228 229 /** 230 * Unregisters a given service if it's registered. 231 * 232 * @param serviceID 233 * the service ID 234 */ 235 public void unregisterService(String serviceID); 236 237 /** 238 * Unregisters a given stage if it's registered. 239 * 240 * @param stageId 241 * the stage ID 242 */ 243 public void unregisterStage(String stageId); 244 }