3
================
| Person |
|--------------|
|- id : String |
|--------------|
================
我Person
類物業id
是String
類型。我必須檢查id
是一個包含11位數的數字。我想這樣的事情:檢查字符串是一個數字
context Person::id:String
inv: self.id->forAll(l|l.oclIsTypeOf(Integer))
and
self.id.size() = 11
但我覺得這是不正確的。
編輯。
現在我確定這是不正確的, l.oclIsTypeOf(Integer)
總是返回false
,因爲是oclIsTypeOf
只應呼籲OclAny
,當id
是String
類型。
EDIT 2(解決方案)
我解決了它是這樣的:由Vincent Aranega
提供
context Person::id:String
inv: not self.id.toInteger().oclIsInvalid()
and
self.id.size() = 11
下面的解決方案應該也工作