您应该为您想要引用的每个 Java 类定义额外的 EDatatypes 到您的 ecore(使用 'Instance Type Name' = java 类限定名称),并简单地使用这些数据类型来键入您的一些 EAttributes。
请注意,如果要将 EAttribute 值保留在资源文件中,则必须为每个创建的 EDatatype 实现特定的转换器。
使用名为“Date”的 EDatatype 的示例,instanceTypeName='java.util.Date',您必须在工厂实现中为以下两种方法提供实现:
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Date createDateFromString(EDataType eDataType, String initialValue) {
// TODO replace with your implementation
return (Date)super.createFromString(eDataType, initialValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertDateToString(EDataType eDataType, Object instanceValue) {
// TODO replace with your implementation
return super.convertToString(eDataType, instanceValue);
}