本區段提供在比較外掛程式中關於進階 API 的其餘資訊。
比較作業必須當作 CompareEditorInput 的子類別來實作。CompareEditorInput 會在進度監視器控制項下執行(可能需時甚久)比較作業、建立 UI 以往下探查比較結果、追蹤發生合併時結果的已用過狀態,以及儲存合併期間所發生的任何變更。
CompareUI 定義進入點,以在任意資源上起始可配置的比較作業。 比較的結果將開啟並放入比較編輯器,在此您可以用動態選取的結構及內容檢視器來瀏覽及編輯詳細資料。
NavigationAction 用來導覽(步驟)CompareEditorInput 的個別差異。
CompareConfiguration 配置比較/合併檢視器的不同 UI 層面,如標題標籤及影像,或合併檢視器的側邊是否可編輯。 建立時,它將傳遞至 CompareEditorInput。
實作階層式比較作業作為
CompareEditorInput 的子類別時,
用戶端必須提供物件的樹狀結構,而每一個節點實作介面
IStructureComparator。此介面為階層式差異引擎所用
(差異器)來走過樹狀結構。
還有樹狀結構的每一個葉節點必須實作
IStreamContentAccessor
介面,以便提供差異引擎存取本身的串流內容。
BufferedContent 提供預設實作給 IStreamContentAccessor 和 IContentChangeNotifier 介面。 它的子類別 ResourceNode 依據台平台工作台資源(IResource)新增實作給 IStructureComparator 和 ITypedElement 介面。 不需修改,它可以作為差異分析引擎的輸入。
如果您想要使用標準比較編輯器以外的比較功能(例如在對話框或精靈), 比較外掛程式提供其他的 Helper 類別。
CompareViewerPane 是提供標籤和本端工具列給比較檢視程式(或其他 JFace viewer 的子類別)的便利類別。它的抽象子類別 CompareViewerSwitchingPane 支援動態檢視器切換,那是安裝在窗格上的檢視程式,由窗格的輸入物件動態地判斷。
EditionSelectionDialog 的簡式選擇對話框,在此,一輸入元素可與同一輸入元素的歷程變式(editions)相比較。 對話框用來實作功能,例如,在工作台資源中的以本端歷程取代。
此外,它可以利用 path 指定輸入元素的次區段(如 Java 原始檔中的方法)。 在這個情況中,對話框僅會拿以 path 指定的次區段與版本清單中的對應次區段做比較。 這個功能可以用來為 Java 元素實作以本端歷程元素取代。
EditionSelectionDialog 需要版本實作 IStreamContentAccessor 及 IModificationDate 介面。 HistoryItem 是個便利使用的類別,用來實作 IFileState 物件的這些介面。