如何过滤类的相同命名属性

时间:2018-07-18 10:39:08

标签: code-generation xtend

使用Xtend文件,我正在生成一个hpp文件,其中包括输入对象类的属性。 以下代码段写入与类相关的所有属性。

«FOR o : myClass.objectClasses»
    Test::ObjectClassHandle _class_«o.fullyQualifiedName.toString("_")»;
    «FOR a : o.attributes»
        Test::AttributeHandle «_attr_«a.fullyQualifiedName.toString("_")»;
    «ENDFOR»
«ENDFOR»

问题在于某些类包含相同的属性。如何过滤相同的命名属性,以便每个属性只写入一次?

1 个答案:

答案 0 :(得分:1)

您可以使用属性名称作为键将attributes转换为地图。 每个键只存储一个属性,因此地图的所有值都是具有唯一名称的属性:

o.attributes.toMap[fullyQualifiedName.toString("_")].values