2012-02-16 3 views
1

Я пытаюсь создать некоторые классы Java из моей модели ECore. В этой модели некоторые классы должны реализовывать Iterable<Something>. Чтобы это произошло, я добавил EClass Iterable и установил его Instance Type Name в java.lang.Iterable. Это не позволяет генератору кода ECore генерировать код для Iterable, но при этом позволяет мне использовать его ESuper Types для классов, которые я хочу реализовать в этом интерфейсе.Итераторы и Iterable в ECore

Правильно ли это сделать?

Проблема с этим подходом заключается в том, что все редакторы (я попробовал «Sample Reflective eCore Editor» и «Generic EMF Form Editor» не смог отредактировать экземпляр модели. Оба редактора не могут найти тип Iterable и показать ошибку «Класс„Iterable“не является Unkown классификатор».

есть обходной путь или решение для этого?

ответ

0

нет, я не думаю, что это правильно. Вы должны использовать @extends аннотацию в раздел комментариев класса для любого места, в которое вы хотите добавить внешний интерфейс Java. Таким образом, ваш интерфейс не будет сдуваться во время генерации. Это со страницы 308 (раздел 10.11) книги EMF:

/** 
* <!-- begin-user-doc --> 
* A representation of the model object 'PurchaseOrder'. 
* @extends Serializable 
* <!-- end-user-doc --> 
* 
* 

* @model 
* @generated 
*/ 
public interface PurchaseOrder extends EObject, Serializable 
{... 
Смежные вопросы