Haku-lisäosan avulla voit mukauttaa näkymiä, jotka auttavat käyttäjää erilaisten sisällön tietovirtojen yhdistämisessä. Joissakin tapauksissa on tosin tarpeen pystyä yhdistämään tietovirtoja ilman käyttäjän osallistumista. Laajennuspisteen org.eclipse.compare.streamMergers avulla voit lisätä luokan, joka yhdistää kolme erilaista syöttövirtaa yhdeksi tulostusvirraksi. Tietovirran yhdistämistoiminnot voidaan liittää tiedoston tunnisteeseen tai sitoa tiettyyn sisältölajiin. Seuraavassa esimerkissä hakulisäosa määrittää kolmen pelkkää tekstiä sisältävän tietovirran yhdistämistoiminnon:
<extension point="org.eclipse.compare.streamMergers"> <streamMerger extensions="txt" class="org.eclipse.compare.internal.merge.TextStreamMerger" id="org.eclipse.compare.internal.merge.TextStreamMerger"> </streamMerger> <contentTypeBinding contentTypeId="org.eclipse.core.runtime.text" streamMergerId="org.eclipse.compare.internal.merge.TextStreamMerger"> </contentTypeBinding> </extension>
Tietovirran yhdistämistoiminto on määritetty streamMerger-elementissä. Sinun pitää määrittää yhdistämistoiminnon tunnus ja luokka, joka toteuttaa sitä. Voit myös määrittää minkä tahansa tiedoston tunnisteen, johon sisällön tietovirran yhdistämistoimintoa on tarkoitus käyttää.
Voit myös käyttää contentTypeBinding-elementtiä yhdistämään sisältölajin tietovirran yhdistämistoimintoon.
Tietovirran yhdistämistoimintojen pitää toteuttaa rajapinta IStreamMerger. Tämä yksinkertainen rajapinta yhdistää kolmen eri syöttövirran sisällöt yhdeksi tulostevirraksi. Sen toteutus ei ole ihan niin yksinkertainen: se riippuu lisäosasta ja sen sisältölajeista.
Uusia IStreamMerger-rajapintoja voidaan luoda rekisteröityjä lajeja varten CompareUI-luokan createStreamMerger-metodeilla.