First of all : thank for the support !
My problem : I want to simply test if an "enumerated" attribute is defined or not.
Let's say I have :
- an EnumValues enumeration with 2 values VALEUR1 and VALEUR
- an EObject object with an optional attribute value
I would have expected to test the value existence thanks to this expression :
object.value.oclIsUndefined()
But this expression always retuens true as the value attribute seems to be initialized with the first value of the enumeration. The only bypass way I've found is to not declare EnumValues as an Enum but as an EObject. Then the oclIsUndefined() method returns false when the attribute is not set in the model. BTW my model is generated thanks to Xtext.
ばかげた質問のようですが、Google、OCL 仕様、または Acceleo リソースで答えを見つけることができません。
ここで見つけた唯一の資料によると、これを達成する唯一の方法は isUndefined またはより一般的な isUndefined('value') OCL ヘルパー メソッドを使用することです。しかし、Acceleo 環境ではこれを断ることはできません。
何か考えはありますか?
お返事ありがとうございます!
ステファン