Class AbstractNodeServiceImpl

  • All Implemented Interfaces:
    org.alfresco.service.cmr.repository.NodeService
    Direct Known Subclasses:
    DbNodeServiceImpl

    public abstract class AbstractNodeServiceImpl
    extends java.lang.Object
    implements org.alfresco.service.cmr.repository.NodeService
    Provides common functionality for NodeService implementations.

    Some of the overloaded simpler versions of methods are implemented by passing through the defaults as required.

    The callback handling is also provided as a convenience for implementations.

    Author:
    Derek Hulley
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.alfresco.service.cmr.repository.NodeService

        org.alfresco.service.cmr.repository.NodeService.FindNodeParameters
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Checks equality by type and uuid
      java.util.List<org.alfresco.service.cmr.repository.NodeRef> findNodes​(org.alfresco.service.cmr.repository.NodeService.FindNodeParameters params)  
      protected java.lang.String generateGuid​(java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> preCreationProperties)
      Fetches any pre-defined node uuid from the properties, but does not generate a new uuid.
      java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef> getChildAssocs​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Defers to the pattern matching overload
      protected java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> getDefaultProperties​(org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition)
      Sets the default property values
      protected java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> getDefaultProperties​(org.alfresco.service.namespace.QName typeQName)  
      java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef> getParentAssocs​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Defers to the pattern matching overload
      protected java.util.Set<org.alfresco.service.namespace.QName> getTypeAndAspectQNames​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Get all aspect and node type qualified names
      int hashCode()  
      void init()
      Registers the node policies as well as node indexing behaviour
      protected void invokeBeforeAddAspect​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)  
      protected void invokeBeforeArchiveNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      protected void invokeBeforeCreateNode​(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, org.alfresco.service.namespace.QName childNodeTypeQName)  
      protected void invokeBeforeCreateStore​(org.alfresco.service.namespace.QName nodeTypeQName, org.alfresco.service.cmr.repository.StoreRef storeRef)  
      protected void invokeBeforeDeleteAssociation​(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)  
      protected void invokeBeforeDeleteChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)  
      protected void invokeBeforeDeleteNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      protected void invokeBeforeMoveNode​(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.NodeRef newParentRef)  
      protected void invokeBeforeRemoveAspect​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)  
      protected void invokeBeforeSetType​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)  
      protected void invokeBeforeUpdateNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      protected void invokeOnAddAspect​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)  
      protected void invokeOnCreateAssociation​(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)  
      protected void invokeOnCreateChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, boolean isNewNode)  
      protected void invokeOnCreateNode​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)  
      protected void invokeOnCreateStore​(org.alfresco.service.cmr.repository.NodeRef rootNodeRef)  
      protected void invokeOnDeleteAssociation​(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)  
      protected void invokeOnDeleteChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)  
      protected void invokeOnDeleteNode​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, org.alfresco.service.namespace.QName childNodeTypeQName, java.util.Set<org.alfresco.service.namespace.QName> childAspectQnames, boolean isArchivedNode)  
      protected void invokeOnMoveNode​(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)  
      protected void invokeOnRemoveAspect​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)  
      protected void invokeOnRestoreNode​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)  
      protected void invokeOnSetType​(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)  
      protected void invokeOnUpdateNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)  
      protected void invokeOnUpdateProperties​(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> before, java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> after)  
      boolean removeSeconaryChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)  
      void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)  
      void setPolicyComponent​(PolicyComponent policyComponent)  
      void setStoresToIgnorePolicies​(java.util.Set<java.lang.String> storesToIgnorePolicies)  
      void setTenantService​(org.alfresco.repo.tenant.TenantService tenantService)  
      void setTransactionService​(TransactionService transactionService)  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.alfresco.service.cmr.repository.NodeService

        addAspect, addChild, addChild, addProperties, countChildAssocs, createAssociation, createNode, createNode, createStore, deleteNode, deleteStore, exists, exists, getAllRootNodes, getAspects, getAssoc, getChildAssocs, getChildAssocs, getChildAssocs, getChildAssocs, getChildAssocsByPropertyValue, getChildAssocsWithoutParentAssocsOfType, getChildByName, getChildrenByName, getNodeAclId, getNodeRef, getNodeStatus, getParentAssocs, getPath, getPaths, getPrimaryParent, getProperties, getProperty, getRootNode, getSourceAssocs, getStoreArchiveNode, getStores, getTargetAssocs, getTargetAssocsByPropertyValue, getType, hasAspect, moveNode, removeAspect, removeAssociation, removeChild, removeChildAssociation, removeProperty, removeSecondaryChildAssociation, restoreNode, setAssociations, setChildAssociationIndex, setProperties, setProperty, setType
    • Field Detail

      • dictionaryService

        protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
      • tenantService

        protected org.alfresco.repo.tenant.TenantService tenantService
      • storesToIgnorePolicies

        protected java.util.Set<java.lang.String> storesToIgnorePolicies
    • Constructor Detail

      • AbstractNodeServiceImpl

        protected AbstractNodeServiceImpl()
    • Method Detail

      • setPolicyComponent

        public void setPolicyComponent​(PolicyComponent policyComponent)
      • setDictionaryService

        public void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      • setTransactionService

        public void setTransactionService​(TransactionService transactionService)
      • setTenantService

        public void setTenantService​(org.alfresco.repo.tenant.TenantService tenantService)
      • setStoresToIgnorePolicies

        public void setStoresToIgnorePolicies​(java.util.Set<java.lang.String> storesToIgnorePolicies)
      • equals

        public boolean equals​(java.lang.Object obj)
        Checks equality by type and uuid
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        uuid
      • init

        public void init()
        Registers the node policies as well as node indexing behaviour
      • getTypeAndAspectQNames

        protected java.util.Set<org.alfresco.service.namespace.QName> getTypeAndAspectQNames​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Get all aspect and node type qualified names
        Parameters:
        nodeRef - the node we are interested in
        Returns:
        Returns a set of qualified names containing the node type and all the node aspects, or null if the node no longer exists
      • generateGuid

        protected java.lang.String generateGuid​(java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> preCreationProperties)
        Fetches any pre-defined node uuid from the properties, but does not generate a new uuid.
        Parameters:
        preCreationProperties - the properties that will be applied to the node
        Returns:
        Returns the ID to create the node with, or null if a standard GUID should be used
      • getParentAssocs

        public java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef> getParentAssocs​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
                                                                                                throws org.alfresco.service.cmr.repository.InvalidNodeRefException
        Defers to the pattern matching overload
        Specified by:
        getParentAssocs in interface org.alfresco.service.cmr.repository.NodeService
        Throws:
        org.alfresco.service.cmr.repository.InvalidNodeRefException
        See Also:
        RegexQNamePattern.MATCH_ALL, NodeService.getParentAssocs(NodeRef, QNamePattern, QNamePattern)
      • getChildAssocs

        public java.util.List<org.alfresco.service.cmr.repository.ChildAssociationRef> getChildAssocs​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
                                                                                               throws org.alfresco.service.cmr.repository.InvalidNodeRefException
        Defers to the pattern matching overload
        Specified by:
        getChildAssocs in interface org.alfresco.service.cmr.repository.NodeService
        Throws:
        org.alfresco.service.cmr.repository.InvalidNodeRefException
        See Also:
        RegexQNamePattern.MATCH_ALL, NodeService.getChildAssocs(NodeRef, QNamePattern, QNamePattern)
      • getDefaultProperties

        protected java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> getDefaultProperties​(org.alfresco.service.namespace.QName typeQName)
      • getDefaultProperties

        protected java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> getDefaultProperties​(org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition)
        Sets the default property values
        Parameters:
        classDefinition - the model type definition for which to get defaults
      • findNodes

        public java.util.List<org.alfresco.service.cmr.repository.NodeRef> findNodes​(org.alfresco.service.cmr.repository.NodeService.FindNodeParameters params)
        Specified by:
        findNodes in interface org.alfresco.service.cmr.repository.NodeService
      • removeSeconaryChildAssociation

        public final boolean removeSeconaryChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
        Specified by:
        removeSeconaryChildAssociation in interface org.alfresco.service.cmr.repository.NodeService