Unir sequências múltiplas

O plug-in de pesquisa permite personalizar vistas que ajudam o utilizador a intercalar diferentes sequências de conteúdos. Em alguns casos, todavia, é desejável a capacidade de intercalar sequências sem a ajuda de um utilizador. O ponto de extensão org.eclipse.compare.streamMergers permite contribuir com uma classe que intercale três sequências de entrada de dados diferentes numa única sequência de entrada de dados. As intercalações de sequências podem ser associadas a extensões de ficheiros ou vinculadas a determinado tipo de conteúdo. O plug-in de pesquisa define uma intercalação de sequência para intercalar três sequências 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>

A intercalação de sequências está descrita no elemento streamMerger. É necessário especificar o id da intercalação e a classe que a implementa. Também poderá especificar quaisquer extensões de ficheiros para as quais deve ser utilizada a intercalação de sequências.

Também poderá utilizar o elemento contentTypeBinding para associar um tipo de conteúdo a uma intercalação de sequências.

As intercalações de sequências devem implementar IStreamMerger. Esta simples interface intercala o conteúdo de três sequências de entrada de dados diferentes numa única sequência de entrada de dados. A implementação não é assim tão simples e depende do plug-in em questão e dos seus tipos de conteúdos.

Pode criar-se novos IStreamMergers para tipos registados com os métodos createStreamMerger da CompareUI.