Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Leggere da un Extension Point"
Da WikiSitech.
Vai alla navigazioneVai alla ricerca(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
+ | [[Programmazione:Java/Eclipse_RCP|<< Back to Eclipse RCP]] | ||
+ | |||
Eclipse mette a disposizione per la lettura degli "Extension Point" delle classi generiche che fanno da wrapper della porzione di xml che li definiscono. | Eclipse mette a disposizione per la lettura degli "Extension Point" delle classi generiche che fanno da wrapper della porzione di xml che li definiscono. | ||
− | < | + | <syntaxhighlight lang="java"> |
// Ottengo l'ExtensionPoint che mi serve tramite il suo ID | // Ottengo l'ExtensionPoint che mi serve tramite il suo ID | ||
IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(/*EXTPOINT_ID*/); | IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(/*EXTPOINT_ID*/); | ||
Riga 33: | Riga 35: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
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. | 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. |
Versione attuale delle 10:46, 21 dic 2016
Eclipse 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.