Limitazioni di accesso
Il runtime Eclipse 3.1 dispone di un'opzione che consente di controllare la visibilità in base ai pacchetti del codice dei plugin nei plugin di downstream.
È possibile classificare i pacchetti come:
PDE traduce queste regole di visibilità di runtime regole di limiti di accesso al compilatore durante la compilazione. Di conseguenza, viene indicata una violazione a una regola di visibilità dal compilatore sotto forma di avviso o di errore, in base alla severità di tale violazione.
Quando questo supporto è disponibile durante la compilazione, non si presenteranno errori imprevisti di caricamento classi e si è sempre consapevoli quando si fa riferimento a tipi interni.
Pacchetti accessibili
I pacchetti accessibili sono sempre visibili. Mentre i pacchetti API devono appartenere sempre alla categoria di plugin downstream, per i pacchetti accessibili lo sviluppatore può decidere quali altri pacchetti esportati dal plugin devono avere questo livello di visibilità.
Per dichiarare un pacchetto accessibile, è necessario aggiungerlo alla sezione Pacchetti esportati nel Runtime dell'editor manifest del plugin e lasciare l'impostazione di visibilità predefinita nello stato in cui si trova.
Pacchetti proibiti
È possibile nascondere i pacchetti dai plugin di downstream in qualsiasi momento escludendoli dall'elenco nella sezione Pacchetti esportati nella pagina Runtime dell'editor manifest del plugin.
I riferimenti ai tipi da un pacchetto proibito provocheranno errori di caricamento classi al runtime.
Per evitare questo problema:
Note:
Si consiglia che la severità di un riferimento proibito sia mantenuta come ERRORE.
Pacchetti interni
I pacchetti interni non sono destinati per l'uso con plugin downstream. Tali pacchetti sono visibili ai plugin di downstream per impostazione predefinita.
I pacchetti interni sono vengono nascosti ai plugin di downstream solo quando Eclipse viene avviato in modalità strict (ad esempio quando viene avviato con l'argomento -Dosgi.resolverMode=strict).
I pacchetti interni devono trovarsi nella sezione Pacchetti esportati della pagina Runtime dell'editor manifest del plugin con l'opzione Nascosto selezionata.
Per impedire che i plugin di downstream facciano riferimento ai pacchetti interni:
Il livello di severità per i riferimenti sconsigliati può essere impostato nella pagina delle preferenze Java > Compilatore > Errori/Avvisi > API obsoleta e limitata.
Pacchetti interni con amici
È importante per un plugin poter garantire pieno accesso ai pacchetti interni a quei plugin definiti "amici". Ad esempio, il codice PDE è suddiviso tra più plugin e il plugin org.eclipse.pde.ui deve avere pieno accesso ai pacchetti interni di org.eclipse.pde.core.
Nell'esempio successivo, gli amici (plugin org.eclipse.pde e org.eclipse.pde.ui) hanno pieno accesso al pacchetto org.eclipse.pde.internal.core.bundle dal plugin org.eclipse.pde.core .
Gli amici possono fare riferimento a qualsiasi tipo dal pacchetto org.eclipse.pde.internal.core.bundle.
Se invece, qualsiasi altro plugin fa riferimento ad un tipo del pacchetto org.eclipse.pde.internal.core.bundle, il compilatore indica il riferimento come sconsigliato come descritto nella sezione precedente.
Come abilitare le limitazioni all'accesso
Per utilizzare il supporto delle limitazioni all'accesso di PDE, l'unico requisito è che i plugin in questione contengano un manifest.mf. dell'insieme OSGi. PDE, che gestisce il percorso classi del plugin, si occuperà del resto.
Se il plugin non contiene un file manifest.mf, è possibile crearlo attenendosi alla seguente procedura:
Esame delle regole di accesso
È possibile esaminare le regole di limitazione all'accesso imposte in ciascun percorso classi da PDE nella pagina delle proprietà Percorso di generazione Java del progetto di plugin.