快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Groovy MOP,实现传说中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. 






返回类别: 教程
上一教程: 用java压缩文件示例(没有中文问题)
下一教程: Java学习从入门到精通[书籍]

您可以阅读与"Groovy MOP,实现传说中Java7.0的XML嵌入式语法"相关的教程:
· GROOVY MOP,实现传说中JAVA7.0的XML嵌入式
· DOM文档操作和XML文件互相转变的JAVA实现
· 从XML元素结构到JAVA实现
· DOM文档操作和XML文件互换JAVA实现
· 应用JDOM处理数据库到XML转变的JSP实现
    微笑服务 优质保证 索取样品