Interface TaggingService

  • All Known Implementing Classes:
    TaggingServiceImpl

    @AlfrescoPublicApi
    public interface TaggingService
    Tagging Service Interface
    Author:
    Roy Wetherall
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.alfresco.service.cmr.repository.NodeRef addTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String tag)
      Add a tag to a node.
      java.util.List<org.alfresco.util.Pair<java.lang.String,​org.alfresco.service.cmr.repository.NodeRef>> addTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> tags)
      Adds a list of tags to a node.
      void addTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Adds a tag scope to the specified node
      org.alfresco.service.cmr.repository.NodeRef changeTag​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String existingTag, java.lang.String newTag)  
      void clearTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Clears all tags from an already tagged node.
      org.alfresco.service.cmr.repository.NodeRef createTag​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag)
      Create a new tag
      void deleteTag​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag)
      Delete an existing tag and any references to it(cascade delete).
      java.util.List<TagScope> findAllTagScopes​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Finds all the tag scopes for the specified node.
      java.util.List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag)
      Find all nodes that have been tagged with the specified tag.
      java.util.List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag, org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Find all nodes that have been tagged with the specified tag and reside within the context of the node reference provided.
      java.util.List<org.alfresco.util.Pair<java.lang.String,​java.lang.Integer>> findTaggedNodesAndCountByTagName​(org.alfresco.service.cmr.repository.StoreRef storeRef)
      Get tagged nodes and count of nodes group by tag name
      TagScope findTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Finds the 'nearest' tag scope for the specified node.
      org.alfresco.util.Pair<java.util.List<java.lang.String>,​java.lang.Integer> getPagedTags​(org.alfresco.service.cmr.repository.StoreRef storeRef, int fromTag, int pageSize)
      Get page of the tags currently available
      org.alfresco.util.Pair<java.util.List<java.lang.String>,​java.lang.Integer> getPagedTags​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String filter, int fromTag, int pageSize)  
      java.lang.String getTagName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      org.alfresco.service.cmr.repository.NodeRef getTagNodeRef​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag)
      Gets the node reference for a given tag.
      java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Get all the tags on a node
      org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,​java.lang.String>> getTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.query.PagingRequest pagingRequest)
      Get a paged list of all the tags on a node
      java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef)
      Get all the tags currently available
      java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String filter)
      Get all the tags currently available that match the provided filter.
      org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,​java.lang.String>> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.query.PagingRequest pagingRequest)
      Get a paged list of all the tags currently available
      boolean hasTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String tag)
      Indicates whether a node has the specified tag or not.
      boolean isTag​(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String tag)
      Indicates whether the tag already exists
      boolean isTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Indicates whether the node reference is a tag scope
      void refreshTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean async)
      Refreshes the tag count of the passed tag scope by recounting all the tags of the children of the scope.
      void removeTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String tag)
      Remove a tag from a node.
      void removeTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> tags)
      Removes a list of tags from a node.
      void removeTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Removes a tag scope from a specified node.
      void setTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.List<java.lang.String> tags)
      Sets the list of tags that are applied to a node, replaces any existing tags with those provided.
    • Method Detail

      • isTag

        @NotAuditable
        boolean isTag​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                      java.lang.String tag)
        Indicates whether the tag already exists
        Parameters:
        storeRef - store reference
        tag - tag name
        Returns:
        boolean true if the tag exists, false otherwise
      • getTagName

        java.lang.String getTagName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      • getTags

        @NotAuditable
        java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef)
        Get all the tags currently available
        Returns:
        list of tags
      • getTags

        @NotAuditable
        org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,​java.lang.String>> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                                                                                             org.alfresco.query.PagingRequest pagingRequest)
        Get a paged list of all the tags currently available
        Parameters:
        storeRef - StoreRef
        pagingRequest - PagingRequest
        Returns:
        PagingResults
      • getTags

        @NotAuditable
        java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                 java.lang.String filter)
        Get all the tags currently available that match the provided filter.
        Parameters:
        storeRef - store reference
        filter - tag filter
        Returns:
        list of tags
      • createTag

        @Auditable(parameters="tag")
        org.alfresco.service.cmr.repository.NodeRef createTag​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                              java.lang.String tag)
        Create a new tag
        Parameters:
        storeRef - store reference
        tag - tag name
      • deleteTag

        @Auditable(parameters="tag")
        void deleteTag​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                       java.lang.String tag)
        Delete an existing tag and any references to it(cascade delete).
        Parameters:
        storeRef - store reference
        tag - tag name
      • changeTag

        @Auditable(parameters={"existingTag","newTag"})
        org.alfresco.service.cmr.repository.NodeRef changeTag​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                              java.lang.String existingTag,
                                                              java.lang.String newTag)
      • hasTag

        @Auditable(parameters="tag")
        boolean hasTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                       java.lang.String tag)
        Indicates whether a node has the specified tag or not.
        Parameters:
        nodeRef - node reference
        tag - tag name
        Returns:
        boolean true if the node has the tag, false otherwise
      • addTag

        @Auditable(parameters="tag")
        org.alfresco.service.cmr.repository.NodeRef addTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                           java.lang.String tag)
        Add a tag to a node. Creating the tag if it does not already exist.
        Parameters:
        nodeRef - node reference
        tag - tag name
      • getTagNodeRef

        @NotAuditable
        org.alfresco.service.cmr.repository.NodeRef getTagNodeRef​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                  java.lang.String tag)
        Gets the node reference for a given tag.

        Returns null if tag is not present.

        Parameters:
        storeRef - store reference
        tag - tag
        Returns:
        NodeRef tag node reference or null not exist
      • addTags

        @Auditable(parameters="tags")
        java.util.List<org.alfresco.util.Pair<java.lang.String,​org.alfresco.service.cmr.repository.NodeRef>> addTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                                                                                           java.util.List<java.lang.String> tags)
        Adds a list of tags to a node.

        Tags are created if they do not exist.

        Parameters:
        nodeRef - node reference
        tags - list of tags
      • removeTag

        @Auditable(parameters="tag")
        void removeTag​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                       java.lang.String tag)
        Remove a tag from a node.
        Parameters:
        nodeRef - node reference
        tag - tag name
      • removeTags

        @Auditable(parameters="tags")
        void removeTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                        java.util.List<java.lang.String> tags)
        Removes a list of tags from a node.
        Parameters:
        nodeRef - node reference
        tags - list of tags
      • getTags

        @NotAuditable
        java.util.List<java.lang.String> getTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Get all the tags on a node
        Parameters:
        nodeRef - node reference
        Returns:
        list of tags on the node
      • getTags

        @NotAuditable
        org.alfresco.query.PagingResults<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,​java.lang.String>> getTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                                                                                                                             org.alfresco.query.PagingRequest pagingRequest)
        Get a paged list of all the tags on a node
        Parameters:
        nodeRef - node reference
        Returns:
        list of tags on the node
      • setTags

        @Auditable(parameters="tags")
        void setTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                     java.util.List<java.lang.String> tags)
        Sets the list of tags that are applied to a node, replaces any existing tags with those provided.
        Parameters:
        nodeRef - node reference
        tags - list of tags
      • clearTags

        @Auditable
        void clearTags​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Clears all tags from an already tagged node.
        Parameters:
        nodeRef - node reference
      • isTagScope

        @NotAuditable
        boolean isTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Indicates whether the node reference is a tag scope
        Parameters:
        nodeRef - node reference
        Returns:
        boolean true if node is a tag scope, false otherwise
      • addTagScope

        @Auditable
        void addTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Adds a tag scope to the specified node
        Parameters:
        nodeRef - node reference
      • refreshTagScope

        @Auditable
        void refreshTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                             boolean async)
        Refreshes the tag count of the passed tag scope by recounting all the tags of the children of the scope.
        Parameters:
        nodeRef - tag scope node reference
        async - indicates whether the tag scope refresh should happen asynchronously or not
      • removeTagScope

        @Auditable
        void removeTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Removes a tag scope from a specified node. Note that any tag count information will be lost when the scope if removed.
        Parameters:
        nodeRef - node reference
      • findTagScope

        @NotAuditable
        TagScope findTagScope​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Finds the 'nearest' tag scope for the specified node.

        The 'nearest' tag scope is discovered by walking up the primary parent path until a tag scope is found or the root node is reached.

        If no tag scope if found then a null value is returned.

        Parameters:
        nodeRef - node reference
        Returns:
        the 'nearest' tag scope or null if none found
      • findAllTagScopes

        @NotAuditable
        java.util.List<TagScope> findAllTagScopes​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Finds all the tag scopes for the specified node.

        The resulting list of tag scopes is ordered with the 'nearest' at the bedining of the list.

        If no tag scopes are found an empty list is returned.

        Parameters:
        nodeRef - node reference
        Returns:
        list of tag scopes
      • findTaggedNodes

        @NotAuditable
        java.util.List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                                    java.lang.String tag)
        Find all nodes that have been tagged with the specified tag.
        Parameters:
        tag - tag name
        Returns:
        list of nodes tagged with specified tag, empty of none found
      • findTaggedNodes

        @NotAuditable
        java.util.List<org.alfresco.service.cmr.repository.NodeRef> findTaggedNodes​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                                    java.lang.String tag,
                                                                                    org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Find all nodes that have been tagged with the specified tag and reside within the context of the node reference provided.
        Parameters:
        tag - tag name
        nodeRef - node providing context for the search
        Returns:
        list of nodes tagged in the context specified, empty if none found
      • getPagedTags

        @NotAuditable
        org.alfresco.util.Pair<java.util.List<java.lang.String>,​java.lang.Integer> getPagedTags​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                                                      int fromTag,
                                                                                                      int pageSize)
        Get page of the tags currently available
        Parameters:
        storeRef - node reference
        fromTag - offset
        pageSize - page size
        Returns:
        pair of tag names and total count
      • getPagedTags

        @NotAuditable
        org.alfresco.util.Pair<java.util.List<java.lang.String>,​java.lang.Integer> getPagedTags​(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                                                                      java.lang.String filter,
                                                                                                      int fromTag,
                                                                                                      int pageSize)
        Parameters:
        storeRef - node reference
        filter - tag filter
        fromTag - page offset
        pageSize - page size
        Returns:
        pair of tag names and total count
      • findTaggedNodesAndCountByTagName

        @NotAuditable
        java.util.List<org.alfresco.util.Pair<java.lang.String,​java.lang.Integer>> findTaggedNodesAndCountByTagName​(org.alfresco.service.cmr.repository.StoreRef storeRef)
        Get tagged nodes and count of nodes group by tag name
        Parameters:
        storeRef -
        Returns: