Lisäosan resurssijoukko-ominaisuudet voivat olla kiinnostavia ajonaikaisessa lisäosassa ja ajonaikaisissa työkaluissa, mutta on yleisempää, että lisäosa koskee sitä, mitä laajennuspisteitä lisäosat ovat määrittäneet ja mitä laajennuksia lisäosat ovat lisänneet. Nämä tiedot ovat ympäristön laajennusrekisterissä IExtensionRegistry.
Miksi lisäosan olisi tarpeen tietää, mitä laajennuksia järjestelmässä on? Käytännön esimerkki selventää, miksi tietoja tarvitaan ja kuinka ne noudetaan.
Muista työympäristön Näytä näkymä -valintaikkuna, joka näyttää kaikki käytettävissä olevat näkymät, jotka on asennettu ympäristöön.
Kaikkien lisättyjen luokkien ja näkymien nimet on määritetty plugin.xml-tiedostossa kaikille lisäosille, jotka lisäävät laajennuksen kohteelle org.eclipse.ui.views. Kuinka työympäristö löytää nämä tiedot? Ne ovat ympäristön laajennusrekisterissä. Seuraava koodi on yksinkertaistettu katkelma, joka perustuu Näytä näkymä -valintaikkunan toteutukselle työympäristössä:
... 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]); //nouda kunkin laajennuksen tiedot ...
Edellä olevasta näkyy, että rekisteri voidaan noutaa Platform-luokasta. IExtensionRegistry-kohteen käytännön avulla haetaan laajennuspiste nimeltä org.eclipse.ui.views. Rekisterin tietoja tietyistä laajennuspisteistä tai laajennuksista voi hakea käytännön avulla, joka on määritetty luokissa IExtensionRegistry, IExtensionPoint ja IExtension. Näiden luokkien javadoc sisältää tarkat tiedot rekisterin käytännöstä.
Kun haluttu laajennusmääritys on löytynyt, kohdan IConfigurationElement käytännön avulla voi tarkastella laajennuksen yksittäisiä määritteitä.