我希望使用Eclipse EMF创建一个包含
你有什么想法吗?
String
对象的List
的类。我发现Ecore有一个EList
,但是不能更改列表的泛型类型。你有什么想法吗?
String
对象的List
的类。我发现Ecore有一个EList
,但是不能更改列表的泛型类型。如果您想生成代码,得到一个EList<String>
,那么可以向EClass
添加一个新的EAttribute
,将其EType
设置为EString
,并将其“Upper Bound”属性设置为“-1”。
如果您想以编程方式创建此类列表,例如,您可以使用BasicEList
(例如org.eclipse.emf.common.util.BasicEList<E>
):
EList<String> stringList = new BasicEList<String>();
如果您想查看其他选项,请在以下位置打开类型层次结构:org.eclipse.emf.common.util.AbstractEList<E>
不确定您的问题是否得到解答,以及您实际想要做什么。
如果您想从.ecore文件生成Java代码,则我在此提供一个示例,使用EMF的Eclipse Juno的样本Ecore模型编辑器(右键单击.ecore文件)。
也许这不是您直接想要的,但对其他人可能有帮助。
假设您想要在生成的Java类MyClass中拥有以下方法:
<T extends String> EList<T> getListOfType(Class<T> T)
点击"T extends ?"的箭头,点击"?",在"属性"窗口中从EClassifier的下拉菜单中选择EString,现在你会看到"T extends EString"
在getListOfType中添加一个EGeneric Return Type的"新子项"
打开EEList的箭头,在属性窗口中从EType Parameter的下拉菜单中选择"T extends EString"
在getListOfType中添加一个名为"EParameter"的"新子项"