OCL 按元素属性分组
OCL group by element attribute
在 Acceleo 中,我有一个 OrderedSet 对象,其中每个对象都有一个字符串作为属性。
我想得到那些字符串的容器(例如 OrderedSet),其中每个字符串都是唯一的。
字符串是 (E)DataType 而不是 (E)Class 实例,因此它没有 (e) 容器。您可以对所有 String 类型的属性进行全模型搜索并检查它们的值 - 非常昂贵。最好重新访问 OrderedSet 构造,这样 'container' 知识就不会被丢弃,需要重新发现。
首先,我将所有字符串收集到一个集合中 ->collect(attribute)
。然后我转换为有序集 ->asOrderedSet()
。这将删除所有重复项。
在 Acceleo 中,我有一个 OrderedSet 对象,其中每个对象都有一个字符串作为属性。
我想得到那些字符串的容器(例如 OrderedSet),其中每个字符串都是唯一的。
字符串是 (E)DataType 而不是 (E)Class 实例,因此它没有 (e) 容器。您可以对所有 String 类型的属性进行全模型搜索并检查它们的值 - 非常昂贵。最好重新访问 OrderedSet 构造,这样 'container' 知识就不会被丢弃,需要重新发现。
首先,我将所有字符串收集到一个集合中 ->collect(attribute)
。然后我转换为有序集 ->asOrderedSet()
。这将删除所有重复项。