Mesclando Vários Fluxos

O plug-in de procura permite que você personalize as visualizações que ajudam os usuário na mesclagem de diferentes fluxos de conteúdo. No entanto, em alguns casos, a habilidade de mesclar fluxos sem a ajuda de um usuário é desejável. O ponto de extensão org.eclipse.compare.streamMergers permite que você contribua uma classe que mescle três fluxos de entrada diferentes em um único fluxo de saída. Os mescladores de fluxo podem estar associados às extensões de arquivo ou ligados a um tipo de conteúdo específico. O plug-in de procura define um mesclador de fluxo para mesclar três fluxos de texto simples:

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

O mesclador de fluxo em si é descrito no elemento streamMerger. Você deve especificar o id do mesclador e a classe que o implementa. Também é possível especificar qualquer extensão de arquivo para a qual o mesclador de fluxo deve ser utilizado.

Também é possível utilizar o elemento contentTypeBinding para associar um tipo de conteúdo com um mesclador de fluxo.

Os mescladores de fluxo devem implementar IStreamMerger. Esta interface simples mescla o conteúdo de três fluxos de entrada diferentes em um único fluxo de saída. A implementação não tão simples depende do plug-in e seus tipos de conteúdo.

Novos IStreamMergers podem ser criados para tipos registrados com os métodos createStreamMerger de CompareUI.