WEB开发网
开发学院软件开发Java 用 Flickr API 扩展 Project Zero 和 WebSphere s... 阅读

用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台

 2009-11-17 00:00:00 来源:WEB开发网   
核心提示: Zero Core 已经为常用的几个 API 实现了这种功能,包括 render()、listFiles() 和 getRequestedUri(),用 Flickr API 扩展 Project Zero 和 WebSphere sMash 的脚本平台(6),这些常用的方法就称为绑定,此外,它

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 示例项目中:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Flickr API 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接