Ganchos de modificación de recursos

Hasta ahora, hemos dado por supuesto que se estaba utilizando la API de recursos para modificar los recursos situados en el sistema de archivos del usuario.   Es cierto que esta es la estructura fundamental del área de trabajo, pero también existe la posibilidad de que un conector aporte prestaciones de manipulación de recursos gestionados en otra parte.  Por ejemplo, los conectores de soporte de equipo de la plataforma aportan capacidad para trabajar con recursos sujetos a la gestión de un depósito de versiones.

La API de recursos incluye prestaciones aportadas específicamente para permitir que los conectores de soporte de equipo y los conectores que implementan proveedores de depósitos utilicen el soporte del equipo.  En este tema se describe el mecanismo genérico que permite registrar ganchos de recursos.  En el tema Ganchos de modificación de recursos del equipo hallará una descripción de cómo utiliza el equipo estos ganchos.  

Ganchos para mover/suprimir recursos

Este gancho permite que el conector de equipo y sus proveedores controlen cómo se implementan los movimientos y las supresiones de los recursos.  El gancho incluye capacidad para impedir que tengan lugar estas operaciones.  Los implementadores pueden proporcionar implementaciones alternativas para mover o suprimir archivos, carpetas y proyectos. 

El conector del equipo utiliza el punto de extensión org.eclipse.core.resources.moveDeleteHook para registrar el correspondiente gancho:

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

La clase suministrada debe implementar la interfaz IMoveDeleteHook, a la que llama la plataforma siempre que se mueve o suprime un recurso.  El conector del equipo instala un gestor de ganchos de mover/suprimir que puede determinar qué proveedor del equipo está gestionando un recurso y luego invocar su gancho específico.

Nota:  el gancho de mover/suprimir se ha diseñado específicamente para el uso del conector central del equipo y otros clientes del proveedor del depósito de equipo.  No está destinado al uso general.  Los proveedores de equipo no deben instalar el gancho mediante el punto de extensión, sino implementando su gancho en su clase RepositoryProvider.  En el tema Ganchos de modificación de recursos del equipo hallará más información sobre la utilización de estos ganchos.

Validadores de modificación de archivo

También existe la posibilidad de que los proveedores de depósitos de equipo tengan que impedir la edición o el guardado de un archivo o intervenir en estas operaciones.  Para ello, el conector del equipo utiliza el punto de extensión org.eclipse.core.resources.fileModificationValidator con objeto de registrar un validador al que se llama siempre que se vaya a modificar un recurso.

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

La clase suministrada debe implementar la interfaz IFileModificationValidator, a la que llama la plataforma siempre que se guarda o abre un recurso.   El conector del equipo instala un gestor de modificación de archivos que puede determinar qué proveedor del equipo está gestionando un recurso y luego invocar su validador específico.

Nota:  el gancho de validador de modificación de archivos se ha diseñado específicamente para el uso del conector central del equipo.  No está destinado al uso general.  Los proveedores de equipo no deben instalar el gancho mediante el punto de extensión, sino implementando su gancho en su clase Repository Provider.   En el tema Ganchos de modificación de recursos del equipo hallará más información sobre la utilización de estos ganchos.

Copyright IBM Corporation y otros 2000, 2003.