我有 OnCreateNodePolicy 实现,我正在考虑在绑定(bind)初始化中添加条件(一些速度优化),这可能吗? 我是什么意思?让我们有类似于这样的定义:
policyComponent.bindClassBehaviour(
QName.createQName(NamespaceService.ALFRESCO_URI, "onCreateNode"),
ContentModel.TYPE_CONTENT, onCreateNode);
现在,当创建节点时,我的 onCreateNode() 被调用。我做的第一件事就是检查我的 parent 是否有某些方面。是否可以将此条件添加到绑定(bind)定义中?那么onCreateNode()只有在满足这个条件时才会被调用?
最佳答案
您无法向绑定(bind)定义添加条件,但在您的情况下,您可以考虑使用 OnCreateChildAssociationPolicy
而不是 OnCreateNodePolicy
。优点是您可以将其绑定(bind)到您的自定义方面。它看起来像这样:
policyComponent.bindAssociationBehaviour(
NodeServicePolicies.OnCreateChildAssociationPolicy.QNAME,
YourCustomModel.ASPECT_YOURASPECT,
ContentModel.ASSOC_CONTAINS,
new JavaBehaviour(this, "onCreateChildAssociation", NotificationFrequency.TRANSACTION_COMMIT)
);
您必须记住,当您将节点移动到新文件夹时,也会创建子关联,而不仅仅是在创建它时。此外,您现在还必须检查 Java 代码中子节点的类型 (ContentModel.TYPE_CONTENT
)。
关于alfresco - Alfresco 保单中的条件具有约束力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11504462/