資源修正連結鉤

目前為止,我們假設資源 API 被用來修改放置在使用者檔案系統中的資源。這的確是工作區的基本結構,但也可能是外掛程式為由他處所管理的資源操作新增功能。例如,平台團隊支援外掛程式新增功能與資源一起作用, 這個資源為版本化儲存庫所管理。

資源 API 包含特別新增來啟用團隊支援外掛程式的功能以及使用團隊支援實作儲存庫提供者的外掛程式。下列討論涵蓋登錄資源連結鉤的一般機制。有關團隊如何使用這些連結鉤的討論,請參閱實作儲存庫提供者。  

資源移動/刪除連結鉤

這個連結鉤讓團隊外掛程式和它的提供者控制如何移動和刪除實作的資源。連結鉤包括預防這些作業發生的能力。實作者可提供替代的實作來移動或刪除檔案、資料夾和專案。

團隊外掛程式使用 org.eclipse.core.resources.moveDeleteHook 延伸點來登錄它的連結鉤:

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

提供的類別必須實作 IMoveDeleteHook, 移動或刪除資源時,平台會呼叫這個類別。團隊外掛程式安裝了移動刪除連結鉤管理程式,可判斷管理資源的團隊提供者並呼叫它的特定連結鉤。

檔案修正驗證器

團隊儲存庫提供者也可能需要防止或介入檔案的編輯或儲存。團隊外掛程式 使用延伸點 org.eclipse.core.resources.fileModificationValidator 在修改資源時來登錄所呼叫的驗證器以完成這個動作。

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

提供的類別必須實作 IFileModificationValidator,當儲存或開啟資源時,平台會呼叫這個類別。 團隊外掛程式安裝了檔案修正管理程式,可判斷管理資源的團隊提供者並呼叫它的特定驗證器。

一般團隊連結鉤

儲存庫提供者有時需要連結至其他工作區作業,以強制額外的限制或自訂工作區行為。org.eclipse.core.resources.teamHook 延伸點會提供一些其他特殊函數給團隊提供者。特別是, 這個連結鉤容許團隊提供者決定是否要針對給定的專案,容許已鏈結資料夾和檔案。部分儲存庫系統對於磁碟上的專案實際佈置有嚴格的規則,且其無法處理鏈結至任意位置的資源。

團隊連結鉤也容許儲存庫提供者提供要用於所有工作區作業的排程規則 Factory。每次呼叫以某些方法修改工作區的 API 方法時,工作區便會取得一個排程規則。 這個排程規則可防止其他執行緒在呼叫 API 方法期間,修改那些資源。如果儲存庫提供者在檔案修改驗證器或移動/刪除連結鉤內,執行其他作業,則提供者也必須告知工作區它需要什麼其他排程規則。請參閱資源批次,以取得工作區如何使用排程規則的詳細資料。

團隊連結鉤的已提供類別必須實作 TeamHook。 團隊外掛程式安裝了單一團隊連結鉤,可判斷管理資源的團隊提供者,並呼叫它的特定連結鉤。

附註:  這三個團隊連結鉤中,全部都是為了讓團隊核心外掛程式使用而特別設定的。  它們並非作為一般用途。  團隊提供者不應該使用這些延伸點來安裝連結鉤,而是在他們的 Repository Provider 類別中實作連結鉤。有關使用這些連結鉤的詳細資訊,請參閱團隊資源修改連結鉤