具有常规的元属性?

时间:2011-06-17 04:50:36

标签: python groovy metaprogramming

在python(特别是CherryPy)中我可以做类似

的事情
class Root(Object):

  def index():
   #some sort of logic here

  index.expose = True

Groovy有类似的内容吗?

更新

CherryPy使用普通对象,因为它等同于控制器,开发人员在其中装饰或标记应该向URL路由系统公开的每个方法。在上面的示例中(使用一些其他配置),.expose属性告诉框架索引应该可以访问请求路由系统。     特别针对我的问题,我正在尝试编写一个数据字典,将缩写的键值对从vCard文件推送到一个简单的类。理想情况下像

 class Foo {
    @Key("FN")
    def fullName
 }

其中vCard解析器将创建foo的新实例,然后使用“FN”的内容分配FullName类属性。

1 个答案:

答案 0 :(得分:0)

进行更多研究(谷歌),我最终检查了reddit上的r / Groovy,并被带到this非常有用的博客帖子

从我的观点来看,Java注释可用于使用扩展逻辑来装饰或标记方法。像

这样的东西
 class Root {
    @Expose
    void index() {
      #som sort of logic here
    }
 }

然后使用Java注释来检测@Expose注释。