List
我想用包含String
对象的 Eclipse EMF 创建一个类。我看到 Ecore 有一个EList
但我无法更改列表的通用类型。
知道怎么做吗?
List
我想用包含String
对象的 Eclipse EMF 创建一个类。我看到 Ecore 有一个EList
但我无法更改列表的通用类型。
知道怎么做吗?
如果你想生成一个给你的代码EList<String>
,那么添加一个新EAttribute
的给一个EClass
,给它一个EType
EString
,并将它的“上界”属性设置为'-1'。
如果您想以编程方式创建这样的列表,您可以使用BasicEList
例如 ( org.eclipse.emf.common.util.BasicEList<E>
):
EList<String> stringList = new BasicEList<String>();
如果您想查看其他选项,请在以下位置打开类型层次结构:org.eclipse.emf.common.util.AbstractEList<E>
不确定您的问题是否已得到解答,以及您真正想要做什么。
如果您想从 .ecore 文件生成 Java 代码,那么我在这里提供了一个使用 Eclipse Juno 的 EMF 示例 Ecore 模型编辑器的示例(右键单击 .ecore 文件)。
也许这不是您想要的,但这可能对其他人有帮助。
假设您想要在生成的 Java 类 MyClass 中使用这样的方法:
<T extends String> EList<T> getListOfType(Class<T> T)
在您的示例 Ecore 模型编辑器中,您希望通过以下方式实现您的方法在 Ecore 编辑器中的外观
单击箭头到“T extends ?”,单击“?”,在“属性”窗口中,在 EClassifier 的下拉菜单中选择一个 EString,现在您会看到“T extends EString”
将 EGeneric 返回类型的“新孩子”添加到 getListOfType
打开 EEList 的箭头,在 Property 窗口中,在 EType Parameter 的下拉菜单中选择“T extends EString”
将“EParameter”的“新孩子”添加到 getListOfType
现在您的 .ecore 文件已准备好用于生成 java 类。