Отменить набор OrderedSet в модели Eclipse Modeling Framework через OCL - PullRequest
1 голос
/ 22 февраля 2012

У меня есть модель UML (которая на самом деле не имеет значения, поскольку это может быть любая модель MOF) с упорядоченным набором, который мне нужен для доступа от последнего к первому элементу. Мне, таким образом, нужно изменить это через OCL. Я видел, что есть метод sortedBy, который нуждается в выражении OCLEx для использования в качестве критерия сортировки, но я не могу понять, как его использовать.

Есть идеи?

1 Ответ

2 голосов
/ 22 февраля 2012

Если вы используете Acceleo (ваш комментарий предполагает, что вы используете), у вас есть два варианта:

  • используйте "myOrderedSet-> reverse ()", предоставляемый библиотекой Acceleo (это не 100% чистый OCL)
  • используйте что-то вроде "myOrderedSet-> iterate (elem: MyType | myOrderedSet.insertAt (0, elem))"

Редактировать: Прошло много времени с тех пор, как я использовал итерацию, поскольку я все время использую реверс, правильное значение для итерации таково: ссылка . И если у кого-то возникли сомнения, вот ответ с обратным: ссылка

С уважением,

Стефан Бегодо

...