rou*_* ze 5 eclipse-emf eclipse-emf-ecore emf
我有一个Vehicle具有枚举属性的Eclass BreakType breakType.
BreakType 在同一Ecore模型中定义如下:
BreakType{
DRUM(0), DISC(1), BLADE(2)
}
Run Code Online (Sandbox Code Playgroud)
我想将属性breakTypedefault设置为null.为此,我为breakTypeattribute-> 设置了以下属性
DefaultLiteralValue: // it's blank
Unsettable: True
Properties of BreakType enum
Default Value : DRUM=0 // this is shown in editor UI even If i remove it from xml.
Run Code Online (Sandbox Code Playgroud)
在生成gen-model和代码之后我得到的是
BreakType breakType = DRUM // attribute set with default value
Run Code Online (Sandbox Code Playgroud)
默认情况下,如何将其设置为null?
我认为你不能。如果您无法通过属性提供默认值,defaultValueLiteralEMF 会自动选择适合属性类型的值。对于枚举类型,它是它定义的第一个文字值。
您始终可以自己修改生成的代码。或者也许您应该使用生成的方法来提供不可设置的功能:
void unsetAttribute();
boolean isSetAttribute();
Run Code Online (Sandbox Code Playgroud)
并检查未设置的状态而不是null值。
| 归档时间: |
|
| 查看次数: |
3133 次 |
| 最近记录: |