首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建节点的正确方法是什么?还有谁能给我解释一下createNode参数

创建节点的正确方法是什么?还有谁能给我解释一下createNode参数
EN

Stack Overflow用户
提问于 2011-08-01 16:49:38
回答 1查看 5.3K关注 0票数 1

我正在使用alresco3.4,我正在尝试创建一个节点,但在节点浏览器中创建节点后出现问题,无法看到我的新节点,因此

有人能帮我看看如何创建节点吗?创建节点的方法参数是什么?任何人可以指导我并阐明创建节点的方法。

感谢Mohammed Amr高级系统开发人员数字系列

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-01 17:22:35

编辑:只使用checked,使用ASSOC_CONTAINS而不是ASSOC_CHILDREN

从Java代码创建新内容有多种不同的方法,例如使用:

  • FileFolderService.create
  • NodeService.createNode

我假设您在这里指的是后一种方法。让我们来看看方法签名(还有另一个版本的createNode也接受初始属性的Map,我现在就跳过它):

代码语言:javascript
复制
ChildAssociationRef createNode(NodeRef parentRef,
                               QName assocTypeQName,
                               QName assocQName,
                               QName nodeTypeQName)
                               throws InvalidNodeRefException,
                                      InvalidTypeException

假设我们想要在文件夹下创建一个新节点,您的代码将如下所示:

代码语言:javascript
复制
NodeRef folderNode = getMyFolderNode();
ChildAssociationRef childAssoc = nodeService.createNode(folderNode,
                                             ContentModel.ASSOC_CONTAINS,
                                             QName.createQName("{foo}bar"),
                                             ContentModel.TYPE_CONTENT);

此调用的结果将是在folderNode.下创建一个新节点

新节点将通过类型为ContentModel.ASSOC_CONTAINS:的关联绑定到其父文件夹这是最关键的部分,因为节点可以使用许多不同的关联来关联,但是节点浏览器用来将内容显示为一个在另一个中归档的父子关联只有这一个。

{foo}bar是标识此特定父子关联本身的QName。在节点浏览器中,您可以在节点路径中看到此参数的效果,如/app:company_home/...../foo:bar

当然,最后一个ContentModel.TYPE_CONTENT参数是要用来创建新节点的类型。您可能希望使用引用您的某个自定义类型的QName

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6896082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档