Dynamic Browsing and Instantiation Capabilites in EMF
EMF provides a reflective editor, which can view and edit any EMF model file, using only the model meta-data. It provides similar function to the default generated editor, but it can't be easily customized.
In this short write up I have tried to pen down the steps involved for using this reflective editor which is quiet a hidden feature in EMF.
Using the Reflective Editor – an Example
Step 1. Create an Empty EMF Project.
Step 2. Create an Ecore using the Example EMF Model Creation Wizards > Ecore Model
The Ecore editor would open with the package as null. Double Click on the package:null to update the Name and NsURI Property. NsURI should be assigned the resource path where the ecore is found. For e.g. /resource/<Plugin Name>/<Folder Name>/<Ecore Name>.ecore Step 3. Update the Ecore to represent your model.
For e.g. My ecore looks like