Mehrere Datenströme mischen

Über das Such-Plug-in können Sie Ansichten anpassen, die den Benutzer bei der Zusammenführung verschiedener Inhaltsdatenströme unterstützen. In manchen Fällen ist es allerdings wünschenswert, Datenströme ohne die Unterstützung eines Benutzers zusammenführen zu können. Über den Erweiterungspunkt org.eclipse.compare.streamMergers können Sie eine Klasse hinzufügen, die drei unterschiedliche Eingabedatenströme zu einem einzigen Ausgabedatenstrom zusammenfügt. Eine solche Mischung von Datenströmen kann bestimmten Dateierweiterungen oder Inhaltstypen zugeordnet werden. Das Such-Plug-in definiert eine Datenstromzusammenführung, die drei Datenströme mit Textdateien mischt:

<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>

Die Zusammenführung der Datenströme selbst wird im Element streamMerger beschrieben. Sie müssen die ID der Zusammenführung sowie die Klasse, die sie implementiert, angeben. Sie können auch beliebige Dateierweiterungen bestimmen, für die die Zusammenführung von Datenströmen verwendet werden soll.

Sie können auch das Element contentTypeBinding verwenden, um einem Inhaltstyp eine Zusammenführung von Datenströmen zuzuordnen.

Zusammenführungen von Datenströmen müssen IStreamMergers implementieren. Diese einfache Schnittstelle führt die Inhalte von drei verschiedenen Eingabedatenströmen zu einem einzigen Ausgabedatenstrom zusammen. Die nicht ganz einfache Implementierung hängt von Ihrem Plug-in und den entsprechenden Inhaltstypen ab.

Für registrierte Typen können neue IStreamMergers über die Methoden 'createStreamMerger' von CompareUI erstellt werden.