2012-05-08 3 views
0

Я сформировал код модели от 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 ?! 

ответ

0

Существует лучший способ сделать это:

EcoreUtil.getRootContainer(eObject); 
Смежные вопросы