Hook di modifica delle risorse

Finora si č supposto che l'API delle risorse venga utilizzata per modificare le risorse ubicate nel file system dell'utente.  In effetti questa rappresenta la struttura fondamentale dello spazio di lavoro, ma č anche possibile che un plug-in aggiunga funzionalitą per l'utilizzo di risorse gestite altrove. Ad esempio, i plug-in del Supporto per i team della piattaforma consentono di utilizzare le risorse gestite da un repository di controllo delle versioni.

L'API delle risorse comprende funzioni che sono state aggiunte specificamente per attivare i plug-in del supporto per i team e i plug-in che implementano i fornitori di repository mediante il supporto di team. Nella trattazione che segue viene descritto il meccanismo per la registrazione degli hook delle risorse. Per informazioni sul modo in cui i team utilizzano tali hook, vedere Hook di modifica delle risorse di team.   

Hook di spostamento/eliminazione delle risorse

Questo tipo di hook consente ai plug-in di team e ai relativi fornitori di controllare la modalitą di implementazione delle operazioni di spostamento ed eliminazione delle risorse. Grazie ad esso č anche possibile impedire l'esecuzione di queste operazioni.  Gli implementatori possono fornire implementazioni alternative per lo spostamento o l'eliminazione di file, cartelle e progetti.  

Il plug-in di team utilizza il punto di estensione org.eclipse.core.resources.moveDeleteHook per registrare il proprio hook:

<extension point="org.eclipse.core.resources.moveDeleteHook" id="MoveDeleteHook">
	<moveDeleteHook class="org.eclipse.team.internal.core.MoveDeleteManager"/>
</extension>

La classe fornita deve implementareIMoveDeleteHook, che viene richiamato dalla piattaforma ogni volta che una risorsa viene spostata o eliminata. Il plug-in di team installa un gestore di hook di spostamento/eliminazione in grado di determinare quale fornitore di team stia gestendo una risorsa e richiamarne il relativo hook.

Nota: l'hook di spostamento/eliminazione č stato specificamente progettato per essere utilizzato dal plug-in principale di team e da altri client dei fornitori di repository di team. Non č finalizzato a un uso di tipo generico. I fornitori di team non devono installare l'hook utilizzando il punto di estensione, ma piuttosto implementare il proprio hook nella classe RepositoryProvider. Per ulteriori informazioni sull'uso di questi hook, vedere Hook di modifica delle risorse di team.

Validator di modifica file

Č anche possibile che i fornitori di repository di team debbano impedire le operazioni di modifica o salvataggio di un file o intervenire in tali operazioni.  Il plug-in di team utilizza a tale scopo il punto di estensione org.eclipse.core.resources.fileModificationValidator, che consente di registrare un validator richiamato ogni volta che č necessario modificare una risorsa.

<extension point="org.eclipse.core.resources.fileModificationValidator" id="FileValidator">
	<fileModificationValidator class="org.eclipse.team.internal.core.FileModificationValidatorManager"/>
</extension>

La classe fornita deve implementare IFileModificationValidator, che viene richiamato dalla piattaforma ogni volta che una risorsa viene salvata o aperta.   Il plug-in di team installa un gestore di modifica file in grado di determinare quale fornitore di team stia gestendo una risorsa e richiamarne lo specifico validator.

Nota: l'hook del validator di modifica file č stato progettato specificamente per essere utilizzato dal plug-in principale di team. Non č finalizzato a un uso di tipo generico. I fornitori di team non devono installare l'hook utilizzando il punto di estensione, ma piuttosto implementare il proprio hook nella classe RepositoryProvider.  Per ulteriori informazioni sull'uso di questi hook, vedere Hook di modifica delle risorse di team.

Copyright IBM Corporation e altri 2000, 2003.