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:

  1. Accessibile
  2. Proibito
  3. Interno
  4. Interno con amici

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 accessibili

 

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:

  1. Il compilatore indicherà i riferimenti ai pacchetti proibiti con un ERRORE.
  2. I tipi provenienti dai pacchetti proibiti NON sono disponibili come proposte nell'assistente ai contenuti.

Note:

  1. Tutti i plugin in Eclipse SDK enumerano i rispettivi pacchetti nella sezione Pacchetti Esportati.  Di conseguenza, nessuno dei pacchetti in SDK hanno accesso proibito.
  2. Il livello di severità per i riferimenti proibiti è impostato nella pagina delle preferenze Java > Compilatore > Errori/Avvisi > API obsoleta e limitata.

    Si consiglia che la severità di un riferimento proibito sia mantenuta come ERRORE.

    Preferenza proibita

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.

Accesso sconsigliato

Per impedire che i plugin di downstream facciano riferimento ai pacchetti interni:

Accesso sconsigliato

Assistente ai contenuti sconsigliato

Il livello di severità per i riferimenti sconsigliati può essere impostato nella pagina delle preferenze Java > Compilatore > Errori/Avvisi > API obsoleta e limitata.

Preferenze sconsigliate

 

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 .

Amici

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:

  1. Aprire il file plugin.xml con l'editor manifest di plugin.
  2. Nella sezione Contenuto del plugin della pagina Panoramica, fare clic sul collegamento 'Crea un file manifest dell'insieme OSG'.

Conversione in manifest.mf

 

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.

Proprietà percorso di generazione Java