Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF Compare/Specifications/ExtensionPointForAdapterFactories"

(API Changes)
Line 29: Line 29:
 
=== API Changes ===
 
=== API Changes ===
  
* Add extension point:
+
* New extension point:
 
<source lang="xml">
 
<source lang="xml">
 
<extension-point id="adapterFactory" name="EMF Compare Adapter Factory" schema="schema/adapterFactory.exsd"/>
 
<extension-point id="adapterFactory" name="EMF Compare Adapter Factory" schema="schema/adapterFactory.exsd"/>
Line 50: Line 50:
 
               org.eclipse.emf.compare.provider.IItemDescriptionProvider"/>
 
               org.eclipse.emf.compare.provider.IItemDescriptionProvider"/>
 
</extension>
 
</extension>
 +
</source>
 +
 +
* New interfaces :
 +
<source lang="java">
 +
public interface RankedAdapterFactory extends AdapterFactory {
 +
 +
int getRanking();
 +
 +
void setRanking(int ranking);
 +
}
 
</source>
 
</source>
  

Revision as of 10:16, 28 March 2013

Evolution Specification: Provide an adapter factory extension mechanism

Current status is DRAFT

Preamble

It enables to provide his own match adapter factory implementation.

  • Bug 404274 - Provide an adapter factory extension mechanism

Introduction

There is no actual mechanism to provide his own adapter factory. An extension point mechanism will be useful to allow users to provide their own adapter factories.

Detailed Specification

We propose to provide an adapter factory extension mechanism.

Any extension will be able to contribute an adapter factory.

TODO

Backward Compatibility and Migration Paths

Metamodel Changes

N/A

API Changes

  • New extension point:
<extension-point id="adapterFactory" name="EMF Compare Adapter Factory" schema="schema/adapterFactory.exsd"/>

Example of use:

<extension 
   point="org.eclipse.emf.compare.edit.adapterFactory">
      <factory
            uri="http://www.eclipse.org/emf/compare"
            class="org.eclipse.emf.compare.test.adapterfactory.MyCompareItemProviderAdapterFactorySpec"
            ranking="10"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource
               org.eclipse.emf.compare.provider.IItemStyledLabelProvider
               org.eclipse.emf.compare.provider.IItemDescriptionProvider"/>
</extension>
  • New interfaces :
public interface RankedAdapterFactory extends AdapterFactory {
 
	int getRanking();
 
	void setRanking(int ranking);
}

User Interface Changes

N/A

Documentation Changes

This documentation will have to be updated:

  • New and Noteworthy
  • Developer Guide

Tests and Non-regression strategy

JUnit tests: EMFCompareAdapterFactoryTest.java in o.e.e.c.tests.

Implementation choices and tradeoffs

N/A

Back to the top