|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
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. 返回类别: 教程 上一教程: JSP实现浏览器关闭COOKIES情况下的会话治理 下一教程: JSP入门初级教程之JSP指令 您可以阅读与"GROOVY MOP,实现传说中JAVA7.0的XML嵌入式"相关的教程: · Groovy MOP,实现传说中Java7.0的XML嵌入式语法 · DOM文档操作和XML文件互换JAVA实现 · 应用JDOM处理数据库到XML转变的JSP实现 · DOM文档操作和XML文件互相转变的JAVA实现 · 从XML元素结构到JAVA实现 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |