reading the eobjects from the ecore file in eclipse

后端 未结 1 1786
一整个雨季
一整个雨季 2021-01-29 08:45

I have the ecore file which contains the class eobjects.Now i want to read that ecore file and get all the class eobjects from that ecore file.

1条回答
  •  清歌不尽
    2021-01-29 09:42

    Do you mean you want to reload your specific xmi file with a custom suffix?

    Here is an example of a method that loads an ecore file at a specific location (path) and returns your root 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 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;
    }
    

    0 讨论(0)
提交回复
热议问题