Bislang wurde davon ausgegangen, dass Ressourcen-APIs zur Änderung von Ressourcen verwendet werden, die sich im Dateisystem des Benutzers befinden. Dies ist zwar die grundlegende Struktur des Arbeitsbereichs, aber es ist ebenfalls möglich, dass ein Plug-in Funktionen für die Bearbeitung von Ressourcen hinzufügt, die an einer anderen Stelle verwaltet werden. Das Plattform-Plug-in für die Teamunterstützung fügt beispielsweise die Möglichkeit der Bearbeitung von Ressourcen hinzu, die von einem Versionierungsrepository verwaltet werden.
Die Ressourcen-API umfasst Funktionen, die speziell für die Aktivierung von Plug-ins für die Teamunterstützung sowie von Plug-ins hinzugefügt wurden, die Repository-Provider mit Verwendung der Teamunterstützung implementieren. Die folgende Erläuterung behandelt die generische Methode für die Registrierung von Anbindungspunkten (Hooks) für Ressourcen. Unter Anbindungspunkte (Hooks) für Änderungen von Teamressourcen erfahren Sie, wie diese Anbindungspunkte von Teams verwendet werden.
Über diese Hooks können das Team-Plug-in und seine Provider steuern, wie das Versetzen und Löschen von Ressourcen implementiert wird. Über den Hook kann auch verhindert werden, dass diese Operationen stattfinden. Implementierungselemente können alternative Implementierungen für das Versetzen oder Löschen von Dateien, Ordnern und Projekten bereitstellen.
Das Team-Plug-in verwendet den Erweiterungspunkt org.eclipse.core.resources.moveDeleteHook, um seinen Hook zu registrieren:
<extension point="org.eclipse.core.resources.moveDeleteHook" id="MoveDeleteHook"> <moveDeleteHook class="org.eclipse.team.internal.core.MoveDeleteManager"/> </extension>
Die bereitgestellte Klasse muss IMoveDeleteHook implementieren. Dieses Objekt wird immer dann durch die Plattform aufgerufen, wenn eine Ressource versetzt oder gelöscht wird. Das Team-Plug-in installiert einen Hook-Manager für das Versetzen und Löschen. Dieser Manager kann festlegen, welcher Team-Provider eine Ressource verwaltet, und deren spezifischen Hook aufrufen.
Hinweis: Der Hook zum Versetzen und Löschen wurde speziell zur Verwendung durch das Team-Kern-Plug-in und andere Provider-Clients für Team-Repositories konzipiert. Er ist nicht zur allgemeinen Verwendung gedacht. Team-Provider sollten den Hook nicht unter Verwendung des Erweiterungspunkts installieren, sondern stattdessen ihren Hook in ihrer Klasse RepositoryProvider implementieren. Weitere Informationen zur Verwendung dieser Hooks finden Sie unter Hooks zur Änderung von Teamressourcen.
Es kann ebenfalls vorkommen, dass Provider für Team-Repositories das Speichern oder Bearbeiten einer Datei verhindern bzw. bei einer solchen Operation eingreifen müssen. Im Team-Plug-in wird dies durch Verwendung des Erweiterungspunkts org.eclipse.core.resources.fileModificationValidator realisiert, mit dem ein Prüfprogramm registriert wird, das bei jeder beabsichtigten Änderung einer Ressource aufgerufen wird.
<extension point="org.eclipse.core.resources.fileModificationValidator" id="FileValidator"> <fileModificationValidator class="org.eclipse.team.internal.core.FileModificationValidatorManager"/> </extension>
Die bereitgestellte Klasse muss IFileModificationValidator implementieren. IFileModificationValidator wird durch die Plattform immer dann aufgerufen, wenn eine Ressource gespeichert oder geöffnet wird. Das Team-Plug-in installiert einen Dateiänderungsmanager, der festlegen kann, welcher Team-Provider eine Ressource verwaltet, und deren spezifisches Prüfprogramm aufrufen kann.
Hinweis: Der Hook für das Dateiänderungsprüfprogramm wurde speziell zur Verwendung durch das Team-Kern-Plug-in konzipiert. Er ist nicht zur allgemeinen Verwendung gedacht. Team-Provider sollten den Hook nicht unter Verwendung des Erweiterungspunkts installieren, sondern stattdessen ihren Hook in ihrer Klasse RepositoryProvider implementieren. Weitere Informationen zur Verwendung dieser Hooks finden Sie unter Hooks zur Änderung von Teamressourcen.