Speciális összehasonlítási technikák

Ez a rész további információkat biztosít az összehasonlítási bedolgozó speciális alkalmazás programozási felületével kapcsolatban.

Összehasonlítási műveletek írása

Az összehasonlítási műveletet a CompareEditorInput alosztályaként kell megvalósítani.  A CompareEditorInput egy összehasonlítási műveletet futtat (valószínűleg hosszú) az előrehaladás-figyelési felügyelet alatt, létrehoz egy felhasználói felületet a drilling-down az összehasonlítási eredményekbe, nyomonköveti az eredmény dirty állapotát összefésülés esetén, és elmenti az összefésülés során történt módosításokat.

A CompareUI megadja a belépési pontot a beállítható összehasonlítási művelet tetszőleges erőforrásokon kezdeményezéséhez. Az összehasonlítás eredménye megnyitásra kerül egy összehasonlítás-szerkesztőben, amelyben a részletek böngészhetők és szerkeszthetők a dinamikusan kiválasztott struktúrában és tartalommegjelenítőkben.

A NavigationAction navigálása (lépés) a CompareEditorInput kezdeti különbségein keresztül történik.

A CompareConfiguration beállítja az összehasonlítás/összefésülés-megjelenítők különböző UI szempontjait, mint a title labels és képek, vagy hogy az összefésülés-megjelenítő oldala szerkeszthető-e. Ez létrehozáskor átkerül a CompareEditorInput elemhez.

Ha a hierarchikus összehasonlítási művelet a CompareEditorInput alosztályaként kerül megvalósításra, akkor az ügyfeleknek biztosítaniuk kell egy objektumfát, amelyben minden csomópont a IStructureComparator felületet valósítja meg. A felületet a hierarchikus különbségkimutató alrendszer valósítja meg (Megkülönböztető) a fa bejárához.
A fa minden további levelének az IStreamContentAccessor felületet kell megvalósítani, hogy a különbségkimutató alrendszernek hozzáférést biztosítson a folyamtartalomhoz.

A BufferedContent egy alapértelmezett megvalósítást biztosít az IStreamContentAccessor és IContentChangeNotifier felülethez. A ResourceNode alosztálya egy megvalósítást biztosít a IStructureComparator és ITypedElement felületekhez a platformmunkaterület-erőforrások alapján (IResource). Ez módosítás nélkül használható a különbségkimutató alrendszer bemeneteként.

Funkcionalitás összehasonlítás az összehasonlító-szerkesztőkön kívül

Ha az összehasonlítás funkciót a szabványos Összehasonlító szerkesztőn (például a párbeszédablakban vagy a varázslóban) kívül kívánja használni, akkor az összehasonlítás bedolgozó további segédosztályokat biztosít.

A CompareViewerPane egy megfelelő osztály, amely egy címkét és egy helyi eszköztárat biztosít az összehasonlítás-megjelenítőhöz (vagy a JFace megjelenítő alosztályaihoz).  Az CompareViewerSwitchingPane absztrakt alosztálya támogatja a dinamikus megjelenítő-váltást, amelyet az ablakrészben megjelenítő telepített, és az ablakrész bemeneti objektuma dinamikusan határozza meg.

EditionSelectionDialog egyszerű kijelölési párbeszédablak, amelyben egy bemeneti elem összehasonlítható ugyanezen elem historic változóinak (kiadások) listájával. A párbeszédablak a "Csere helyi előzményekre" és ehhez hasonló funkciókat valósít meg a munkaterület-erőforrásokon.

Az elérési út segítségével a bemeneti elem egy részhalmaza is megadható (például egy metódus a Java forrásfájlban). Ebben az esetben a párbeszédablak csak a részhalmazt (ahogy az elérési út megadja) hasonlítja össze a kiadások listájának megfelelő részhalmazával. Ez a funkció a "Csere helyi előzményből származó elemre" szolgáltatást valósítja meg a Java elemekhez.

Az EditionSelectionDialog megköveteli, hogy a kiadások megvalósítsák az IStreamContentAccessor és IModificationDate felületeket. A HistoryItem egy megfelelő osztály, amely az IFileState objektumok számára megvalósítja ezeket a felületeket.