Alfresco政策中的条件具有约束力

时间:2012-07-16 12:36:51

标签: alfresco

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

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

现在,当创建节点时,将调用我的onCreateNode()。我做的第一件事是检查,如果我的父母有一些方面。是不是可以将这个条件添加到绑定定义中?所以只有在满足这个条件时才调用onCreateNode()?

1 个答案:

答案 0 :(得分:4)

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

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

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