1 19 package org.java.plugin.registry; 20 21 import java.net.URL ; 22 import java.util.Collection ; 23 import java.util.Map ; 24 import java.util.Set ; 25 26 import org.java.plugin.ObjectFactory; 27 import org.java.plugin.PathResolver; 28 import org.java.plugin.PluginManager; 29 import org.java.plugin.util.ExtendedProperties; 30 31 67 public interface PluginRegistry { 68 89 Map register(URL [] manifests) throws ManifestProcessingException; 90 91 97 ManifestInfo readManifestInfo(URL manifest) 98 throws ManifestProcessingException; 99 100 108 Collection unregister(String [] ids); 109 110 120 PluginDescriptor getPluginDescriptor(String pluginId); 121 122 130 boolean isPluginDescriptorAvailable(String pluginId); 131 132 137 Collection getPluginDescriptors(); 138 139 148 ExtensionPoint getExtensionPoint(String pluginId, String pointId); 149 150 156 ExtensionPoint getExtensionPoint(String uniqueId); 157 158 167 boolean isExtensionPointAvailable(String pluginId, String pointId); 168 169 175 boolean isExtensionPointAvailable(String uniqueId); 176 177 182 Collection getPluginFragments(); 183 184 191 Collection getDependingPlugins(PluginDescriptor descr); 192 193 199 IntegrityCheckReport checkIntegrity(PathResolver pathResolver); 200 201 210 IntegrityCheckReport checkIntegrity(PathResolver pathResolver, 211 boolean includeRegistrationReport); 212 213 216 IntegrityCheckReport getRegistrationReport(); 217 218 224 String makeUniqueId(String pluginId, String elementId); 225 226 232 String makeUniqueId(String pluginId, Version version); 233 234 239 String extractPluginId(String uniqueId); 240 241 246 String extractId(String uniqueId); 247 248 254 Version extractVersion(String uniqueId); 255 256 262 void registerListener(RegistryChangeListener listener); 263 264 270 void unregisterListener(RegistryChangeListener listener); 271 272 277 void configure(ExtendedProperties config); 278 279 283 interface RegistryChangeListener { 284 290 void registryChanged(RegistryChangeData data); 291 } 292 293 297 interface RegistryChangeData { 298 301 Set addedPlugins(); 302 303 306 Set removedPlugins(); 307 308 311 Set modifiedPlugins(); 312 313 316 Set addedExtensions(); 317 318 323 Set addedExtensions(String extensionPointUid); 324 325 328 Set removedExtensions(); 329 330 335 Set removedExtensions(String extensionPointUid); 336 337 340 Set modifiedExtensions(); 341 342 347 Set modifiedExtensions(String extensionPointUid); 348 } 349 350 356 interface ManifestInfo { 357 360 String getId(); 361 362 365 Version getVersion(); 366 367 370 String getVendor(); 371 372 376 String getPluginId(); 377 378 382 Version getPluginVersion(); 383 384 388 String getMatchingRule(); 389 } 390 } 391 | Popular Tags |