服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

教你实现传说中java7.0的xml嵌入式语法


  groovy的team leader-- guillaume laforge说,mop(meta object protocol)是他最喜欢的groovy特性。
  
  使用mop可以简单的对属性和方法进行拦截和解释,intercept 已经因为aop而被大家熟悉。在groovy里,通过重载groovyobject的get/setproperty()函数和invokemethod()函数,可以加入自己的hook和behavior,比java简单的多的实现proxy和delegator。
  
  而更重要的是,mop函数可以充当领域语言解释者的角色,拦截一些在class里根本没有定义的属性、方法来进行解释,这就是groovy里xml嵌入式语法的魔法根源。
  
  比如如下的xml
  
  <shop><book name="foo"><writer>庄表伟</writer></book></shop>
  
  可以用groovy这样访问
  
  println node.book.writer.text()
  
  node类当然没有book,writer这样属于领域语言的属性,但通过重载getpropety(string name)函数,node类可以把对book,writer属性的访问,转换成相应dom节点的访问。
  
  实现请参看org.codehaus.groovy.sandbox.util.xmllist类的public object getproperty(final string elementname)函数。
  
  guillaume laforge说,it's an aspect of groovy which makes the language very powerful, but rare are those who really know and use it.

扫描关注微信公众号