我想返回' ListOfObjects'的元素列表。由SomeOtherObject'引用的。用它(SomeOtherObject' s)属性满足条件。 我正在尝试这段代码:
ParentObj.ListOfObjects.select(e|e.referencingContainers.typeSelect(SomOtherObject).attr.isValid());
' ListOfObjects'从' ParentObj中提取特定对象的列表。但是上面的代码没有给我任何东西。请帮我弄清楚这里有什么问题。
答案 0 :(得分:0)
这是因为,在上面的代码中,select中的表达式的结果返回一个列表而不是一个布尔值。要使它成为布尔值,我必须以这种方式重写代码:
ParentObj.ListOfObjects.select(e|e.referencingContainers.typeSelect(SomOtherObject).select(el|el.attr.isValid()).size > 0);
选择内部的选择以及尺寸检查是产生差异的原因。
答案 1 :(得分:0)
有一个扩展名来查找引用特定对象的对象:org::eclipse::xtend::util::stdlib::crossref
您也可以用同样的方式指定条件。 Here是有关Cross References Extensions的更多信息。