Mentre gli aspetti relativi all'"insieme" di un plugin possono essere interessanti per il plugin e gli strumenti di runtime, è molto più comune che un plugin sia interessato ai punti di estensione definiti dai plugin ed alle estensioni fornite dai plugin. Queste informazioni sono fornite dal registro di estensione della piattaforma, IExtensionRegistry.
Perché un plugin desidera sapere quali estensioni sono presenti? Un esempio concreto consente di mostrare perché queste informazioni e il protocollo per la loro visualizzazione siano necessari.
Richiamare la finestra di dialogo Mostra vista del workbench in cui sono visualizzate tutte le viste disponibili installate nella piattaforma.
I nomi delle categorie e i nomi delle viste di tutte le viste fornite sono specificati nel file plugin.xml per qualsiasi plugin che fornisce un'estensione per org.eclipse.ui.views. In che modo il workbench individua queste informazioni? Dal registro di estensione della piattaforma. Il codice di seguito riportato è un frammento semplificato basato sull'implementazione del workbench della finestra di dialogo Mostra vista:
... IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint point = registry.getExtensionPoint("org.eclipse.ui.views"); if (point == null) return; IExtension[] extensions = point.getExtensions(); for (int i = 0; i < extensions.length; i++) readExtension(extensions[i]); //get the information about each extension ...
Il registro può essere richiamato dalla classe Piattaforma. Il protocollo presente in IExtensionRegistry viene utilizzato per individuare il punto di estensione denominato org.eclipse.ui.views. Le informazioni presenti nel registro relative a determinati punti di estensione o estensioni possono essere individuate utilizzando il protocollo definito in IExtensionRegistry, IExtensionPoint e IExtension. Il javadoc relativo a queste classi fornisce informazioni dettagliate sul protocollo del registro.
Una volta individuata la definizione dell'estensione di interesse, il protocollo presente in IConfigurationElement può essere utilizzato per esaminare i singoli attributi di un'estensione.