Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Leggere da un Extension Point"

Da WikiSitech.
Vai alla navigazioneVai alla ricerca
 
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
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.
  
<code java>
+
<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:
 
   }
 
   }
 
}
 
}
</code>
+
</syntaxhighlight>
  
La lettura degli EP può essere effettuata in ogni momento e posto, però è consigliabile fare una factory che lo faccia, in modo da non doverlo leggere più volte e in modo da raggruppare in un unico punto la logica di lettura.
+
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

<< 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.

// 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.