Java Content Repository API简介 - 编程入门网
单,如清单 7 所示:
清单 7. 用 TransientRepository 获得仓库、工作区和根节点
像手工配置时一样,所有的 JCRWiki 内容都放在 wiki 名称空间下:
恭喜!仓库的自动配置现在完成了。 JCRWiki 的设计策略 现在看一下 JCRWiki 仓库的整体内容层次结构。在示例中,要创建两个实体 “rose” 和 “Shakespeare”,它们都是 nt:unstructured 类型的。根据设计合同,每个百科全书条目都要有三个属性:条目的标题、条目的内容以及多值分类属性(如果条目有多个分类)或单值分类属性(如果条目只有一个分类)。多值属性在编程上表现为一组数值。 图 2 描绘了 JCRWiki 设计策略的图示: 图 2. JCRWiki 拓扑的高层图示 Java Content Repository API简介(7)时间:2011-06-25 IBM Titus BarikJCRWiki 功能 没有内容的仓库没什么用处。这一节将演示 JSR-170 提供的基本内容操纵功能,并描述一些更高级的、可选的仓库特性,例如版本管理和导入导出 XML 内容。 添加内容 从清单 8 开始,向仓库添加内容节点,让它看起来像图 2 中的 JCRWiki 拓扑: 清单 8. 将内容添加到 JCR 仓库中
默认情况下,Jackrabbit 的节点被设置为 nt:unstructured。注意,“rose” 的分类属性是多值的。上面代码段的最后一行代码将保存会话。添加和设置节点以及节点属性只能修改临时的会话存储层。要将这些变化保持到仓库中,则必须用 session.save() 保存会话。可以在目标节点上调用 Node.remove() 来删除节点。 存取内容 JSR-170 提供了两种存取内容的方法:遍历 存取和直接 存取。遍历存取包括用相对路径在内容树中进行遍历,直接存取允许用绝对路径直接跳到节点,如果节点是可以引用的,则用 UUID 直接跳到节点。因为两种存取之间存在相似性,所以我在这篇文章只侧重于遍历存取。 从任何 Node 对象及其方法 Node.getNode()、Node.getProperty() 都可以进行遍历存取。通过使用 JCRWiki 拓扑,可以用以下代码从根节点获得 encyclopedia 节点: Node encyclopedia = rn.getNode("wiki:encyclopedia"); 可以进一步通过遍历得到属性。例如,在根节点向下的 “rose” 百科全书节点条目中,假设以前知道 J |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |