WEB开发网
开发学院软件开发Java Java Content Repository API 简介 阅读

Java Content Repository API 简介

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 像手工配置时一样,所有的 JCRWiki 内容都放在 wiki 名称空间下: ws.getNamespaceRegistry(),Java Content Repository API 简介(9),registerNamespace("wiki","http://w

像手工配置时一样,所有的 JCRWiki 内容都放在 wiki 名称空间下:

ws.getNamespaceRegistry()。registerNamespace 
  ("wiki", "http://www.barik.net/wiki/1.0"); 

恭喜!仓库的自动配置现在完成了。

JCRWiki 的设计策略

现在看一下 JCRWiki 仓库的整体内容层次结构。在示例中,要创建两个实体 “rose” 和 “Shakespeare”,它们都是 nt:unstructured 类型的。根据设计合同,每个百科全书条目都要有三个属性:条目的标题、条目的内容以及多值分类属性(如果条目有多个分类)或单值分类属性(如果条目只有一个分类)。多值属性在编程上表现为一组数值。

图 2 描绘了 JCRWiki 设计策略的图示:

图 2. JCRWiki 拓扑的高层图示
Java Content Repository API 简介

JCRWiki 功能

没有内容的仓库没什么用处。这一节将演示 JSR-170 提供的基本内容操纵功能,并描述一些更高级的、可选的仓库特性,例如版本管理和导入导出 XML 内容。

添加内容

从清单 8 开始,向仓库添加内容节点,让它看起来像图 2 中的 JCRWiki 拓扑:

清单 8. 将内容添加到 JCR 仓库中

Node encyclopedia = rn.addNode("wiki:encyclopedia"); 
 
Node p = encyclopedia.addNode("wiki:entry"); 
p.setProperty("wiki:title", new StringValue("rose")); 
p.setProperty("wiki:content", new 
  StringValue("A rose is a flowering shrub.")); 
p.setProperty("wiki:category", 
  new Value[]{ 
   new StringValue("flower"), 
   new StringValue("plant"), 
   new StringValue("rose")}); 
 
Node n = encyclopedia.addNode("wiki:entry"); 
n.setProperty("wiki:title", new StringValue("Shakespeare")); 
n.setProperty("wiki:content", new 
  StringValue("A famous poet who likes roses.")); 
n.setProperty("wiki:category", new StringValue("poet")); 
 
session.save(); 

上一页  4 5 6 7 8 9 10  下一页

Tags:Java Content Repository

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