實作提供者

延伸項目中所識別的類別必須為 RepositoryProvider 的子類別。 它主要責任是為儲存庫支援配置和取消配置專案,並提供任何必要的資源修正連結鉤。CVS 用戶端是一個好範例。它的儲存庫提供者是 CVSTeamProvider

   public class CVSTeamProvider extends RepositoryProvider {

	...

RepositoryProvider 定義二抽象方法, configureProjectdeconfigure。所有提供者必須實作這些方法。

專案第一次建立與特定儲存庫提供者的關聯性時,進行配置。這一般發生在當使用者選取專案並使用團隊精靈來建立儲存庫與專案的關聯性時。無論此作業如何觸發, 這是計算或快取需要您提供儲存庫功能之專案資料的適當時間,則您需要提供您的儲存庫功能。(假設已將專案對映至您的提供者。您必須在配置精靈中處理這個部份。)

CVS 提供者簡單的廣播已配置的專案的事實:

public void configureProject() throws CoreException {
	CVSProviderPlugin.broadcastProjectConfigured(getProject());
}

我們將不遵循外掛程式廣播機制的實作。足以說需要計算或起始設定專案特定的資料的任何人也可以在此時這麼做。

當使用者不再想要建立團隊提供者與專案的關聯性時,解除配置專案。 依據您的外掛程式的需求實作使用者動作,造成解除配置專案(解除對映團隊 提供者中的專案也在此發生)。deconfigure 方法是在適當的時機來刪除專案相關的快取或移除 UI 中參照的專案。CVS 提供者清空保存在檢視畫面中的專案相關的快取並廣播專案已解除配置的事實。

      public void deconfigure() throws CoreException {
	...
	try {
		EclipseSynchronizer.getInstance().flush(getProject(), true, true /*flush deep*/, null);
	} catch(CVSException e) {
		throw new CoreException(e.getStatus());
	} finally {
		CVSProviderPlugin.broadcastProjectDeconfigured(getProject());
	}
}

 

Copyright IBM Corporation and others 2000, 2003.