чтение eobjects из файла ecore в eclipse

У меня есть файл ecore, который содержит класс eobjects. Теперь я хочу прочитать этот файл ecore и получить все объекты класса из этого файла ecore.


person NVN    schedule 01.07.2016    source источник


Ответы (1)


Вы имеете в виду, что хотите перезагрузить свой конкретный файл xmi с настраиваемым суффиксом?

Вот пример метода, который загружает файл ecore в определенное место (путь) и возвращает ваш корневой объект EObject.

public static EObject loadYourModel(String path) {
    /*Initialzie Models*/
    YourPackage.eINSTANCE.eClass();

    /*register your xmi resources*/
    final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
    final Map<String, Object> m = reg.getExtensionToFactoryMap();
    /*put all your different ecore file suffixes in the map; suffix = YourPackage.eNAME*/
    m.put(YourPackage.eNAME, new XMIResourceFactoryImpl());
    /*you can put all different package names here*/

    /*Create a new Resource set to store the EObjects from the file*/
    ResourceSet resSet = new ResourceSetImpl();

    /*get the resource of your ecore file*/
    Resource resource = resSet.getResource(URI.createURI(path), true);
    /*Get the first element = root of your model hierachy*/
    EObject root = resource.getContents().get(0);
    return root;
}
person Mad Matts    schedule 07.07.2016