Grails—从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 }

我正在尝试创建一个mixin,它使用对象的属性将对象转换为其他类型。mixin看起来像

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
分支

具体请参见以下文件:


您的问题和代码表明您对Groovy中的混音如何工作感到困惑。您能否描述正在添加哪些属性以及希望添加哪些属性?我根本不希望添加属性,只希望使用名为
transform
的方法。我不知道添加的属性到底是什么,但它们看起来像是由编译器添加的。您感到惊讶的属性名称是什么?比如,
log
class
\uuuuuuuu timeStamp\uuuuuuuuu239\u永远不会出现1402586467581
…我认为即使您不使用混音,它们也会出现。