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