#
Stream Merger

###### Identifier:

org.eclipse.compare.streamMergers

###### Since:

3.0

###### Description:

This extension point allows a plug-in to register a stream merger for specific content types. The stream merger is expected to perform a three-way merge on three input streams and writes the result to an output stream. The extension point must implement the interface `org.eclipse.compare.IStreamMerger`.

###### Configuration Markup:

<!ELEMENT extension (streamMerger* , contentTypeBinding*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT streamMerger EMPTY>

<!ATTLIST streamMerger

id CDATA #REQUIRED

class CDATA #REQUIRED

extensions CDATA #IMPLIED>

- id - a unique identifier that can be used to reference the stream merger
- class - a fully qualified name of a class that implements `org.eclipse.compare.IStreamMerger`
- extensions - a comma separated list of file extensions e.g. "java, properties"

<!ELEMENT contentTypeBinding EMPTY>

<!ATTLIST contentTypeBinding

contentTypeId CDATA #REQUIRED

streamMergerId CDATA #REQUIRED>

- contentTypeId -
- streamMergerId -

###### Examples:

The following is an example of a stream merger for property files (extension "properties"):

    <extension point = "org.eclipse.compare.streamMergers">
         <streamMerger
             id="org.eclipse.compare.internal.merge.TextStreamMerger"
             class="org.eclipse.compare.internal.merge.TextStreamMerger"
             extensions="properties"
        />
    </extension>

###### API Information:

The contributed class must implement `org.eclipse.compare.IStreamMerger`

###### Supplied Implementation:

The Compare UI plugin defines a stream merger for line oriented text files.

Copyright (c) 2000, 2004 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html