我有一个深层的 POGO(域模型)层次结构,大量使用 @Canonical
和 @TupleConstructor
。我现在想要列出可用于我的任何一个域模型类的所有动态生成的构造函数。
我发现了这个 Groovy 的小 gem :
println MyObject.metaClass.methods*.name.sort().unique()
运行时,它会精美地打印 MyObject
的所有(定义和生成)方法的列表。
但是,当我尝试将其用于构造函数时:
println MyObject.metaClass.constructors*.name.sort().unique()
...它只是打印出来:
[groovy.lang.ExpandoMetaClass$ExpandoMetaProperty@67c27493]
如何列出任何给定类的所有 @Canonical
和 @TupleConstructor
生成的构造函数(及其各自的参数)?
更重要的是(不完全是,但几乎)...这个记录在哪里?!?
最佳答案
只需删除metaClass
:
MyObject.constructors*.name.sort().unique()
它应该只显示一个值:'MyObject'
(因为所有构造函数都具有名称 MyObject
)
关于groovy - 列出 Canonical 和 TupleConstructor 生成的 Groovy 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973933/