Class TagScopePropertyMethodInterceptor

  • All Implemented Interfaces:
    org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

    public class TagScopePropertyMethodInterceptor
    extends Object
    implements org.aopalliance.intercept.MethodInterceptor
    This class is an interceptor of the NodeService that converts the content of the tagScopeCache property into a pseudo, multi-value text property (cm:tagScopeSummary) with each value of the spoofed property taking the form "=". This interceptor can be enabled by calling its static setEnabled(Boolean) method. It is enabled by default. When enabled, a call to getProperties for a node that has a cm:tagScopeCache property will include the calculated cm:tagScopeSummary property. A call to getProperty specifying cm:tagScopeSummary as the property name will return the calculated property value or null if the node has no cm:tagScopeCache property value.
    Author:
    Brian Remmington
    • Constructor Detail

      • TagScopePropertyMethodInterceptor

        public TagScopePropertyMethodInterceptor()
    • Method Detail

      • setContentService

        public void setContentService​(ContentService contentService)
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
      • setCache

        public void setCache​(org.alfresco.repo.cache.SimpleCache<String,​List<String>> cache)
      • invoke

        public Object invoke​(org.aopalliance.intercept.MethodInvocation invocation)
                      throws Throwable
        Specified by:
        invoke in interface org.aopalliance.intercept.MethodInterceptor
        Throws:
        Throwable
      • getTagSummary

        protected List<String> getTagSummary​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                             Map<org.alfresco.service.namespace.QName,​Serializable> allNodeProperties)
        Given a NodeRef and, optionally, the property map of that node, this operation establishes whether the node is a TagScope node, and returns the appropriate value of the cm:tagScopeSummary property.
        Parameters:
        nodeRef - NodeRef
        allNodeProperties - Optional. If the caller has a current property map for the node being queried then supplying it here saves a little time. This argument is allowed to be null.
      • getEnabled

        public static final Boolean getEnabled()
      • setEnabled

        public static final Boolean setEnabled​(Boolean enable)
        Allows the functionality of this interceptor to be enabled and disabled on a thread-by-thread basis. The caller should ensure that the value is reset to its prior setting once it has finished using the thread of execution.
        Parameters:
        enable - Boolean
        Returns:
        The setting prior to invoking this operation.