El conector de búsqueda permite personalizar vistas que facilitan al usuario la fusión de diversas corrientes de contenidos. Sin embargo, en algunos casos es conveniente contar con la posibilidad de fusionar corrientes sin la ayuda del usuario. El punto de extensión org.eclipse.compare.streamMergers permite añadir una clase que fusiona tres corrientes de entrada diferentes en una sola corriente de salida. Los fusionadores de corrientes pueden asociarse con extensiones de archivo o enlazarse a un tipo de contenido determinado. El conector de búsqueda define un fusionador de corrientes destinado a fusionar tres corrientes de texto plano:
<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>
El fusionador de corrientes propiamente eicho se describe en el elemento streamMerger. Debe especificar el id del fusionador y la clase que lo implementa. También puede especificar las extensiones de archivo para las que debe utilizarse el fusionador de corrientes.
También puede utilizar el elemento contentTypeBinding para asociar un tipo de contenido con un fusionador de corrientes.
Los fusionadores de corrientes deben implementar IStreamMerger. Esta interfaz simple fusiona el contenido de tres corrientes de entrada diferentes en una sola corriente de salida. La implementación más compleja depende del conector y de sus tipos de contenido.
Pueden crearse IStreamMerger nuevos para tipos registrados con los métodos createStreamMerger de CompareUI.