Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EMF Compare/Specifications/ExtensionPointForAdapterFactories
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:
- org.eclipse.emf.compare.edit
<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:
- org.eclipse.emf.compare.edit
- org.eclipse.emf.compare.internal.adapterfactory.RankedAdapterFactory
- org.eclipse.emf.compare.edit
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