我已经从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 ?!
答案 0 :(得分:0)
有一种更好的方法:
EcoreUtil.getRootContainer(eObject);