Я сформировал код модели от Ecore. В моей модели у меня есть производная ссылка: derivedThings
.Traverse 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 ?!