Unione di più flussi

Il plugin di ricerca consente di personalizzare le viste che aiutano l'utente nell'unione dei flussi di contenuto diversi. In alcuni casi, tuttavia, si desidera poter unire i flussi senza l'aiuto di un utente. Il punto di estensione org.eclipse.compare.streamMergers consente di fornire una classe che unisce tre diversi flussi di input in un unico flusso di output. I programmi di unione flussi possono essere associati alle estensioni file o collegati a un determinato tipo di contenuto. Il plugin di ricerca definisce un programma di unione flussi per l'unione di tre flussi di testo normale:

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

Il programma di unione flussi è descritto nell'elemento streamMerger. È necessario specificare l'id del programma di unione e la classe di implementazione. È possibile inoltre specificare qualsiasi estensione file per cui deve essere utilizzato il programma di unione flussi.

È possibile anche utilizzare l'elemento contentTypeBinding per associare un tipo di contenuto a un programma di unione flussi.

I programmi di unione flussi devono implementare l'elemento IStreamMerger. Questa semplice interfaccia unisce il contenuto di tre diversi flussi di input in un unico flusso di output. L'implementazione not-so-simple dipende dal plugin e dai relativi tipi di contenuto.

Nuovi elementi IStreamMerger possono essere creati per i tipi registrati con i metodi createStreamMerger di CompareUI.