通用内容代理

From Apache OpenOffice Wiki
Jump to: navigation, search



功能

通用内容代理 (UCB) 是 OpenOffice.org 体系结构的关键部分。通常,UCB 为不同数据源和函数的常规访问提供标准接口,以便查询、更改和创建数据内容。OpenOffice.org 文档类型全部由 UCB 处理。另外,UCB 还可以用于帮助文件、目录树和资源链接。


将资源访问授权给 UCB 的好处在于,从开发者的角度来看,文档、文件夹和链接的处理始终一样。无论您打算存储在文件系统中、FTPWebDAV 服务器上还是文档管理系统中,都没有关系。


但是,如果要装入并保存 OpenOffice.org 文档,则不必直接使用 UCB。com.sun.star.frame.Desktop 服务提供了所需的函数,以隐藏相对较低层次的 UCB 调用。请参阅 办公软件开发 - OpenOffice.org 应用环境 - 处理文档。使用 UCB 可以管理目录树中的管理文件或读取自己的文档流,无需考虑目录树或文档流的位置。


体系结构

从概念上可以被描绘为一个对象系统,包括一个核心和一组通用内容提供者 (UCP)。设计 UCP 的目的是用来屏蔽访问协议之间的差别,通过 UCB 接口,使得开发者可以专注于资源集成的本质,而不是复杂的底层协议。为达到此目的,每个 UCP 都实现一个接口,通过统一资源标识符 (URI) 简化对特定数据源的访问。客户请求特定资源时,先访问 UCB,然后 UCB 根据与此内容相关联的 URI 调用满足条件的 UCP。


原则上,所有数据内容都封装在内容对象中。每个内容对象都实现一组标准的接口,其中包括用于查询内容类型的函数以及可以在各自内容上执行的精选命令集,例如 "open"、"delete" 和 "move"。

Documentation note.png 无论何时引用 UCB 命令,都应在命令两侧加上双引号,如 "getPropertyValues()",以区分 UCB 命令和以 getPropertyValues() 形式表示的一般方法。通用内容代理 - 使用 UCB API - 执行内容命令 将介绍 UCB 命令。


每个内容对象还包含一组属性,包括标题、媒体类型(MIME 类型)和不同标记。这些属性可以通过应用程序进行读取和设置。UCB API 定义标准命令和属性集。有一组强制属性和命令,任何内容实现都必须支持它们;还有一组具有预设语义的可选命令和属性。以下插图 显示 UCB、UCP 与 UCB 内容对象之间的关系。

UCB、UCPs 和 UCB 内容对象之间的关系


当客户请求特定内容时,将会访问 UCB 并在相应的 URI 上传送。UCB 分析 URI 后,将调用相应的UCP 为请求的资源创建对象。


例如,当应用程序请求特定文档时,此文档的 URI 将传送到“通用内容代理”。UCB 将对此 URI 进行分析,然后将其分配给相应的 UCP。UCP 为请求的资源创建内容对象并将其返回到 UCB,然后 UCB 再将其返回到应用程序。应用程序将打开内容对象或查询,或者通过执行相应的命令来设置属性值。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools