大佬教程收集整理的这篇文章主要介绍了在Groovy中有没有办法装饰每个类来添加跟踪?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
无需包装我使用新的TracingDecorator(new Object())创建的每个新对象?
你可以通过类加载器匹配某种命名/包模式的类列表来旋转,然后为每个类似decorateMethodsWithLogging执行以下操作:
class Foo { def bar() { println "in bar" } def baz(String name) { println "in baz with $name" } } def decorateMethodsWithLogging(clazz) { def mc = clazz.MetaClass mc.invokeMethod = { String name,args -> println "before $name,args = $args" def result = mc.getMetaMethod(name,args).invoke(delegate,args) println "after $name" return result } } decorateMethodsWithLogging(Foo.class) def f = new Foo() f.bar() f.baz("qux")
这打印
before bar,args = [] in bar after bar before baz,args = [qux] in baz with qux after baz
以上是大佬教程为你收集整理的在Groovy中有没有办法装饰每个类来添加跟踪?全部内容,希望文章能够帮你解决在Groovy中有没有办法装饰每个类来添加跟踪?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。