2012-05-08 37 views
0

我已經從Ecore生成了模型代碼。 在我的模型中,我有一個派生參考:derivedThingsTraverse ecore模型

我想在derivedThingsImpl做的是以下幾點:

我要遍歷整個模型,並根據不同的元素,我想將它添加到集合與否。

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

問題是,我如何從derivedThingsImpl訪問根對象?有沒有像getRootObject()?!

感謝

UPDATE:

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

有這樣做的更好的辦法:

EcoreUtil.getRootContainer(eObject);