Grails—从mixin似乎添加的属性中筛选声明的属性
我正在尝试创建一个mixin,它使用对象的属性将对象转换为其他类型。mixin看起来像Grails—从mixin似乎添加的属性中筛选声明的属性,grails,groovy,Grails,Groovy,我正在尝试创建一个mixin,它使用对象的属性将对象转换为其他类型。mixin看起来像 class MyMixin { MyModel transform() { MyModel model = new MyModel() this.properties.each { key, value -> model.addToList(key, value) } return model }
class MyMixin {
MyModel transform() {
MyModel model = new MyModel()
this.properties.each { key, value ->
model.addToList(key, value)
}
return model
}
}
示例用法
@Mixin(MyMixin)
class OtherModel {
Integer number
String description
}
然而,似乎一些属性正在被添加到引擎盖下。当我测试添加到列表中的条目数量时,它比预期的要多。我得到的不是2个,而是5个
我同意mixin在后台添加属性,但如果是这样,我想知道一种检查声明属性的方法
如需说明,请签出的测试/mixin
分支
具体请参见以下文件:
transform
的方法。我不知道添加的属性到底是什么,但它们看起来像是由编译器添加的。您感到惊讶的属性名称是什么?比如,log
,class
,\uuuuuuuu timeStamp\uuuuuuuuu239\u永远不会出现1402586467581
…我认为即使您不使用混音,它们也会出现。