2

我有 OnCreateNodePolicy 实现,我正在考虑在绑定初始化中添加条件(一些速度优化),这可能吗?我是什么意思?让我们有类似这样的定义:

policyComponent.bindClassBehaviour(
    QName.createQName(NamespaceService.ALFRESCO_URI, "onCreateNode"),
    ContentModel.TYPE_CONTENT, onCreateNode);

现在,当创建节点时,我的 onCreateNode() 被调用。我要做的第一件事是检查我的父母是否有某些方面。不能将此条件添加到绑定定义中吗?那么只有满足这个条件才调用onCreateNode()?

4

1 回答 1

4

您不能向绑定定义添加条件,但在您的情况下,您可以考虑使用.OnCreateChildAssociationPolicy而不是OnCreateNodePolicy. 优点是您可以将其绑定到您的自定义方面。它看起来像这样:

policyComponent.bindAssociationBehaviour(
        NodeServicePolicies.OnCreateChildAssociationPolicy.QNAME,
        YourCustomModel.ASPECT_YOURASPECT, 
        ContentModel.ASSOC_CONTAINS, 
        new JavaBehaviour(this, "onCreateChildAssociation", NotificationFrequency.TRANSACTION_COMMIT)
);

您必须记住,当您将节点移动到新文件夹时也会创建子关联,而不仅仅是在创建它时。此外,您现在必须检查ContentModel.TYPE_CONTENTJava 代码中子节点 ( ) 的类型。

于 2012-07-16T16:09:42.317 回答