Programmazione:Java/Eclipse RCP/Leggere da un Extension Point
Da WikiSitech.
(Reindirizzamento da Programmazione:Java/Leggere da un Extension Point)
Vai alla navigazioneVai alla ricercaEclipse mette a disposizione per la lettura degli "Extension Point" delle classi generiche che fanno da wrapper della porzione di xml che li definiscono.
// Ottengo l'ExtensionPoint che mi serve tramite il suo ID
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(/*EXTPOINT_ID*/);
if(ep != null) {
// Ottengo l'elenco delle estensioni
IExtension[] extensions = ep.getExtensions();
IExtension ex;
IConfigurationElement[] configurations;
IConfigurationElement conf;
if(extensions != null && extensions.length > 0) {
// scorro le estensioni
for(int e = 0; e < extensions.length;) {
ex = extensions[e];
// Ottengo l'elenco delle configurazioni
configurations = ex.getConfigurationElements();
if(configurations != null && configurations.length > 0) {
// scorro le configurazioni
for(int c = 0; c < configurations.length;) {
conf = configurations[c];
// Quando trovo la configurazione che mi interessa
if(/*CONFIG_NAME*/.equals(conf.getName())) {
// Ottengo l'attributo o gli attributi che mi interessano
String attr = conf.getAttribute(/*ATTRIBUTE*/);
break;
}
c++;
}
}
e++;
}
}
}
La lettura degli EP può essere effettuata in ogni momento, per questo è consigliabile delegare ad una factory la lettura, in modo da non doverla effetuarla più volte e in modo da raggruppare in un unico punto la logica di spacchettamento.