技术开发 频道

Lotus Expeditor Property Broker协作组件


操作处理程序

    要理解 Property Broker 的体系结构,您必须理解什么是操作处理程序。存在操作处理程序扩展点的根本目的在于:允许现有基于事件或消息的系统将操作用于声明式代理模型。如上所述,Lotus Expeditor 附带三个操作处理程序。应根据操作处理程序的要求来使用恰当的操作实现。最终由其中一个处理程序来调用操作。代理将属性更改传递给适用于您操作对象类型的已注册处理程序。表 1 展示了这三个可用的处理程序。


表 1. 可用操作处理程序
插件名称 描述 依赖项
com.ibm.rcp.propertybroker 核心代理、核心处理程序

处理程序类型:COMMAND

操作接口:org.eclipse.core.commands.IHandler
org.eclipse.core.commands
org.eclipse.core.runtime
com.ibm.rcp.propertybroker.swt SWT 处理程序:

处理程序类型:SWT_ACTION

操作接口:org.eclipse.core.commands.IHandler
org.eclipse.core.runtime
org.eclipse.ui
com.ibm.rcp.propertybroker
com.ibm.rcp.propertybroker.portlet JSR 168 Portlet 处理程序

处理程序类型:PORTLET

操作接口:JSR 168 Portlet
org.eclipse.core.runtime
org.eclipse.ui
com.ibm.rcp.propertybroker
com.ibm.rcp.portletcontainer
com.ibm.rcp.propertybroker.awt AWT Action 处理程序

处理程序类型:AWT_ACTION

操作接口:java.awt.Component
org.eclipse.core.runtime
com.ibm.rcp.propertybroker

    需要理解的最关键部分是上表中的依赖项列。如果编写了没有头部的操作(即不能有 UI 依赖项的插件或代码),那么在实现操作时应该使用 org.eclipse.core.commands.IHandler 接口。如果组件是基于图形化的组件,例如 SWT 视图,那么应实现 org.eclipse.core.commands.IHandler 接口,但应在创建操作时指定 SWT_ACTION 类型。SWT 操作处理程序消除了启用和禁用页面级连接时的烦恼。显示或隐藏透视图时,将分别适当地启用或禁用在复合应用程序 XML 中定义的任何连接。

    如前所述,操作处理程序负责实现与可调用操作兼容的对象,并提供 PropertyChangeEvent 接口,这样属性和连接信息就可为操作所用(参见图 3)。在大多数情况下,仅创建了操作,并没有创建操作处理程序。


图 3. 操作处理程序流

0
相关文章