Je vais essayer de t'expliquer clairement et d'une manière compréhensible ce que je crois connaître sur ce sujet.
Il n'est pas garantit que toutes ces informations seront exactement correctes.
OSGI est un standard qui détermine une manière de loader en java les objects compilées (fichiers .class) et de les exécuter. Ce standard est utilisé dans un projet à la base d'Eclipse nommé Equinox http://www.eclipse.org/equinox/. Ce projet permet entre autre à la plateforme d'Eclipse de pouvoir loader à la dernière minute (LazyStart) les plugins dont elle a besoin pour s'exécuter correctement. Par exemple, un éditeur n'est instancié que lorsqu'un fichier lui étant relié est choisit dans un "open dialog".
Donc, tous les plugins sont en fait des bundles OSGI qui sont loadés en mémoire lorsqu'ils sont nécessaires. Ton plugin l'est autant que celui de org.eclipse.ui.views. Les plugins doivent donc tous avoir un nom (ou un code) différent pour qu'il n'y ait pas de conflits. Les bundles actifs sont listé dans un registre et y sont accessible par nom.
Pour accéder à un bundle il faut utiliser
Platform.getBundle(bundleId)
J'espère que ça peut t'éclairer un peu plus, même si cette info n'est pas nécessaire à la construction d'un plugin ou à l'utilisation de la plateforme. Cependant, ça peut toujours être intéressant d'en savoir un peu plus.
Partager