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