遍历生态模型

时间:2012-05-08 08:26:21

标签: java eclipse-emf eclipse-emf-ecore

我已经从Ecore生成了模型代码。 在我的模型中,我有一个派生的引用:derivedThings

我想在derivedThingsImpl中做的事情如下:

我想遍历整个模型,并根据元素,我想将它添加到集合中。

for(TreeIterator iter = EcoreUtil.getAllContents(rootObject); iter.hasNext();)
 ...

问题是,如何从derivedThingsImpl访问根对象?有类似getRootObject()的东西吗?!

由于

更新:

EObject e = this;
while(e.eContainer() != null) {
  e =  e.eContainer()
  if (e instanceof RootElement)
    break;
}
// No I should have the root element. Is this a good and clean way ?!

1 个答案:

答案 0 :(得分:0)

有一种更好的方法:

EcoreUtil.getRootContainer(eObject);