# Structure Creators

###### Identifier:

org.eclipse.compare.structureCreators

###### Description:

This extension point allows a plug-in to register a structure creator for specific content types. The structure creator is expected to create a tree of `IStructureComparator`s for a given content. This tree is used as the input for the structural compare. The extension point must implement the interface `org.eclipse.compare.structuremergeviewer.IStructureCreator`.

###### Configuration Markup:

<!ELEMENT extension (structureCreator* , 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 structureCreator EMPTY>

<!ATTLIST structureCreator

id CDATA #REQUIRED

class CDATA #REQUIRED

extensions CDATA #IMPLIED

>

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

<!ELEMENT contentTypeBinding EMPTY>

<!ATTLIST contentTypeBinding

contentTypeId IDREF #REQUIRED

structureCreatorId IDREF #REQUIRED

>

A `contentTypeBinding` binds a structure creator to a content type.

- contentTypeId - The id of a content type defined using the `org.eclipse.core.contenttype.contentTypes` extension point.
- structureCreatorId - The id of a structure creator defined using the `structureCreator` element of this extension point (i.e. `org.eclipse.compare.structureCreators`)

###### Examples:

The following is an example of a structure creator for java files (extension "java"):

    <extension point = "org.eclipse.compare.structureCreators">
         <structureCreator
             id="org.eclipse.compare.JavaStructureCreator"
             class="org.eclipse.compare.JavaStructureCreator"
             extensions="java"
        />
    </extension>

###### API Information:

The contributed class must implement `org.eclipse.compare.structuremergeviewer.IStructureCreator`

###### Supplied Implementation:

The Compare UI plugin defines a structure creator for zip archives.

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