Ganchos de Modificação do Recurso

Até agora, assumimos que a API do recurso está sendo utilizada para modificar os recursos que estão localizados no sistema de arquivos do usuário.  Isso é realmente a estrutura fundamental do espaço de trabalho, mas também é possível que um plug-in inclua capacidades para manipulação de recursos que são gerenciados em algum lugar.  Por exemplo, os plug-ins de Suporte à equipe da plataforma incluem a capacidade de funcionar com recursos que estão sob o gerenciamento de um repositório de criação de versões.

A API do recurso inclui capacidades que foram incluídas especificamente para ativar os plug-ins de suporte à equipe e os plug-ins que implementam provedores de repositório utilizando o suporte à equipe.  A discussão a seguir abrange o mecanismo genérico para o registro de ganchos de recursos.  Consulte Ganchos de modificação de recursos de equipe para obter uma discussão de como a equipe utiliza esses ganchos.  

Ganchos de Movimento/Exclusão do Recurso

Este gancho permite que o plug-in da equipe e seus provedores controlem como os movimentos e exclusões de recursos são implementados.  O gancho inclui a capacidade de evitar que essas operações aconteçam.  Os implementadores podem fornecer implementações alternativas para mover ou excluir arquivos, pastas e projetos. 

O plug-in da equipe utiliza o ponto de extensão org.eclipse.core.resources.moveDeleteHook para registrar seu gancho:

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

A classe fornecida deve implementar IMoveDeleteHook, que é chamado pela plataforma sempre que um recurso é movido ou excluído.  O plug-in da equipe instala um gerenciador de gancho de movimento/exclusão que pode determinar qual provedor de equipe está gerenciando um recurso e chamar seu gancho específico.

Nota:  O gancho de movimento/exclusão foi projetado especificamente para ser utilizado pelo plug-in do núcleo da equipe e outros clientes do provedor de repositório da equipe.  Ele não é destinado para uso geral.  Os provedores de equipe não devem instalar o gancho utilizando o ponto de extensão, mas em vez disso, implementar seu gancho em sua classe RepositoryProvider.  Consulte Ganchos de modificação de recursos de equipe para obter informações adicionais sobre a utilização desses ganchos.

Validadores de Modificação do Arquivo

Também é possível que os provedores de repositório da equipe precisem impedir ou interferir na edição ou salvamento de um arquivo.  Isso é realizado pelo plug-in da equipe utilizando o ponto de extensão org.eclipse.core.resources.fileModificationValidator para registrar um validador que é chamado sempre que um recurso deve ser modificado.

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

A classe fornecida deve implementar IFileModificationValidator, que é chamado pela plataforma sempre que um recurso é salvo ou aberto.   O plug-in da equipe instala um gerenciador de modificação de arquivo que pode determinar qual provedor de equipe está gerenciando um recurso e chamar seu validador específico.

Nota:  O gancho do validador de modificação de arquivo foi projetado especificamente para ser utilizado pelo plug-in do núcleo da equipe.  Ele não é destinado para uso geral.  Os provedores de equipe não devem instalar o gancho utilizando o ponto de extensão, mas em vez disso, implementar seu gancho em sua classe RepositoryProvider.   Consulte Ganchos de modificação de recursos de equipe para obter informações adicionais sobre a utilização desses ganchos.

Copyright IBM Corporation e outros 2000, 2003.