gpt4 book ai didi

eclipse-emf - 使用工作区中的所有模型

转载 作者:行者123 更新时间:2023-12-04 05:38:52 26 4
gpt4 key购买 nike

假设我有 Person EMF 模型。我创建了这个模型 bob.person 和 mike.person 的 2 个实例。有没有办法在我的工作区中创建所有模型的集合,这些模型是 Person 并使用 OCL 或 EMF 查询来查询它们?

最佳答案

当然是。

首先,要在工作区中创建某种类型的所有模型的集合,请使用 Eclipse 资源 API。

IResourceVisitor 

将派上用场,搜索具有特定扩展名的文件,并将它们放入集合中。它们可以通过以下方式加载到资源集中:
ResourceSet personSet = new ResourceSetImpl();
for (IResource res : foundIResources) {
personSet.getResource(URI.createFileUTI(res.getFullPath(), true);
}

接下来,您应该对结果集执行查询。您可以使用以下方法收集资源集的所有根元素:
Set<EObject> roots = new HashSet<EObject>;
for (Resource res : personSet.getResources()) {
roots.addAll(res.getContent());
}

或创建一个
IEObjectSource

具有类似功能,与 FROM EMF 模型查询语句一起使用。

关于eclipse-emf - 使用工作区中的所有模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com