用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台
2009-11-17 00:00:00 来源:WEB开发网Zero Core 已经为常用的几个 API 实现了这种功能,包括 render()、listFiles() 和 getRequestedUri()。这些常用的方法就称为绑定。此外,Zero Core 还允许您用自己的方法扩展默认的 Groovy 绑定,以便能更容易地从应用程序的任何位置对其进行调用。本节将介绍如何为 Flickr 方法创建 Groovy 绑定并提高它们的可用性。
创建定制捷径
要想添加定制的 Groovy 绑定,需要编写一个类,该类实现 zero.core.groovysupport.bindings.BindingHandler 接口,然后再在应用程序的 zero.config 文件注册该类。BindingsHandler 接口只有一个方法 — addVariables() — 用来将绑定名(比如 flickr())映射到它们的实际实现。清单 9 显示了如何在 zero.config 中配置 BindingsHandler 类:
清单 9. 向 Zero Core 添加 Groovy 绑定[/config/bindings/.groovy[]]
my.bindings.handler.ClassName
如果所提供的是方法绑定(正如我们现在所做的),那么通过在 zero.core.groovysupport.bindings.InvokeBindings 中扩展类可以简化很多工作 — 这种做法能将方法调用转给 invokeMethod(),由它负责处理 Groovy 代码的执行。有了这个机制,就能够享用这些更巧妙的方法调用的所有益处,且不必自已加载和执行 Groovy 脚本。不管接口如何实现,这个配置文件将不会改变。
FlickrBindings 类
为了使这三个 Flickr 方法对于其他 Groovy 脚本编写器也方便使用,我们已经创建了一个名为 FlickrBindings 的类,它将方法名映射给对 invokeMethod() 的调用,包括用户提供的参数。清单 10 显示了此类的代码。请把清单 10 中的这个类加入到 zero.services.flickr 示例项目中:
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接