Med insticksprogrammet för sökning kan du anpassa vyer så att en användare får hjälp med att sammanfoga olika innehållsflöden. Ibland är det dock önskvärt att kunna göra detta utan hjälp. Via utökningspunkten org.eclipse.compare.streamMergers kan du bidra med en klass som sammanfogar tre olika indataflöden till ett enda utdataflöde. Flödessammanslagningar kan associeras till filtillägg eller bindas till en viss innehållstyp. I insticksprogrammet för sökning definieras en flödessammanslagare för sammanslagning av tre dataflöden med oformaterad text:
<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>
Själva flödessammanslagaren beskrivs i streamMerger-elementet. Du måste ange ID för sammanslagaren och klassen som implementerar den. Du kan även ange eventuella filtillägg för vilka flödessammanslagaren ska användas.
Du kan även använda elementet contentTypeBinding för att associera en innehållstyp med flödessammanslagaren.
Flödessammanslagare måste implementera IStreamMerger. Detta enkla gränssnitt sammanfogar innehållet i tre olika indataflöden till ett enda utdataflöde. Den inte-så-enkla implementeringen beror på ditt insticksprogram och dess innehållstyper.
Nya IStreamMerger kan skapas för typer som registrerats med createStreamMerger-metoder för CompareUI.