2013-11-20 2 views
0

Например, скажем, если у меня была библиотека и предпосылка выдачи книги заемщику заключалась в том, что она может быть выпущена только в том случае, если она не является ссылкой только и не является в кредит кому-то еще, я мог бы сказать:Как использовать подсчет связанных экземпляров вместо атрибутов в OCL

context Copy::issue() : Boolean 
    pre: (referenceCopy and onLoan) == false 

Но это будет использовать атрибут onLoan для копии книги. Вместо этого я хочу сказать это с помощью методов сбора для подсчета связанных объектов?

ответ

1

Например, вы можете использовать IsEmpty()

context Copy::issue() : Boolean 
    pre: not self.referenceCopy and self.borrowers->isEmpty() 

или считать()

context Copy::issue() : Boolean 
    pre: not self.referenceCopy and self.borrowers->count() = 0 

можно опустить из контекста переменной себя, если вы хотите.

Смежные вопросы