5

Vehicleenum属性を持つEclassがありますBreakType breakType

BreakType次と同じEcoreモデルで定義されています。

BreakType{
    DRUM(0), DISC(1), BLADE(2)
}

breakType属性のデフォルトをnullに設定したい。breakTypeそのために、属性->に次のプロパティを設定しました

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.

gen-modelとそれからコードを生成した後に私が得ているのは

BreakType breakType = DRUM // attribute set with default value

デフォルトでnullに設定するにはどうすればよいですか?

4

1 に答える 1

1

私はあなたができるとは思わない。プロパティを介してデフォルト値を指定しなかった場合、defaultValueLiteralEMFは属性のタイプに適切な値を自動的に選択します。列挙型の場合、これはそれが定義する最初のリテラル値です。

生成されたコードはいつでも自分で変更できます。または、生成されたメソッドを使用して、設定できない機能を提供する必要があるかもしれません。

void unsetAttribute();
boolean isSetAttribute();

値の代わりに未設定の状態を確認しnullます。

于 2012-09-13T22:12:54.667 に答える