Package org.alfresco.repo.node
Class AbstractNodeServiceImpl
- java.lang.Object
-
- org.alfresco.repo.node.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.NodeServiceProvides common functionality forNodeServiceimplementations.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
-
-
Field Summary
Fields Modifier and Type Field Description protected org.alfresco.service.cmr.dictionary.DictionaryServicedictionaryServiceprotected java.util.Set<java.lang.String>storesToIgnorePoliciesprotected org.alfresco.repo.tenant.TenantServicetenantServiceprotected TransactionServicetransactionService
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractNodeServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Checks equality by type and uuidjava.util.List<org.alfresco.service.cmr.repository.NodeRef>findNodes(org.alfresco.service.cmr.repository.NodeService.FindNodeParameters params)protected java.lang.StringgenerateGuid(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 overloadprotected java.util.Map<org.alfresco.service.namespace.QName,java.io.Serializable>getDefaultProperties(org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition)Sets the default property valuesprotected 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 overloadprotected java.util.Set<org.alfresco.service.namespace.QName>getTypeAndAspectQNames(org.alfresco.service.cmr.repository.NodeRef nodeRef)Get all aspect and node type qualified namesinthashCode()voidinit()Registers the node policies as well as node indexing behaviourprotected voidinvokeBeforeAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)protected voidinvokeBeforeArchiveNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)protected voidinvokeBeforeCreateNode(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 voidinvokeBeforeCreateStore(org.alfresco.service.namespace.QName nodeTypeQName, org.alfresco.service.cmr.repository.StoreRef storeRef)protected voidinvokeBeforeDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)protected voidinvokeBeforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)protected voidinvokeBeforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)protected voidinvokeBeforeMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.NodeRef newParentRef)protected voidinvokeBeforeRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)protected voidinvokeBeforeSetType(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)protected voidinvokeBeforeUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)protected voidinvokeOnAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)protected voidinvokeOnCreateAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)protected voidinvokeOnCreateChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, boolean isNewNode)protected voidinvokeOnCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)protected voidinvokeOnCreateStore(org.alfresco.service.cmr.repository.NodeRef rootNodeRef)protected voidinvokeOnDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)protected voidinvokeOnDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)protected voidinvokeOnDeleteNode(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 voidinvokeOnMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)protected voidinvokeOnRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)protected voidinvokeOnRestoreNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)protected voidinvokeOnSetType(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)protected voidinvokeOnUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)protected voidinvokeOnUpdateProperties(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)booleanremoveSeconaryChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)voidsetPolicyComponent(PolicyComponent policyComponent)voidsetStoresToIgnorePolicies(java.util.Set<java.lang.String> storesToIgnorePolicies)voidsetTenantService(org.alfresco.repo.tenant.TenantService tenantService)voidsetTransactionService(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
-
transactionService
protected TransactionService transactionService
-
tenantService
protected org.alfresco.repo.tenant.TenantService tenantService
-
storesToIgnorePolicies
protected java.util.Set<java.lang.String> storesToIgnorePolicies
-
-
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:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object- See Also:
uuid
-
init
public void init()
Registers the node policies as well as node indexing behaviour
-
invokeBeforeCreateStore
protected void invokeBeforeCreateStore(org.alfresco.service.namespace.QName nodeTypeQName, org.alfresco.service.cmr.repository.StoreRef storeRef)
-
invokeOnCreateStore
protected void invokeOnCreateStore(org.alfresco.service.cmr.repository.NodeRef rootNodeRef)
-
invokeBeforeCreateNode
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)
-
invokeOnCreateNode
protected void invokeOnCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
-
invokeBeforeMoveNode
protected void invokeBeforeMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.NodeRef newParentRef)
-
invokeOnMoveNode
protected void invokeOnMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
-
invokeBeforeUpdateNode
protected void invokeBeforeUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
invokeOnUpdateNode
protected void invokeOnUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
invokeOnSetType
protected void invokeOnSetType(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)
-
invokeBeforeSetType
protected void invokeBeforeSetType(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName oldType, org.alfresco.service.namespace.QName newType)
-
invokeOnUpdateProperties
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)
-
invokeBeforeDeleteNode
protected void invokeBeforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
invokeBeforeArchiveNode
protected void invokeBeforeArchiveNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
invokeOnDeleteNode
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)
-
invokeOnRestoreNode
protected void invokeOnRestoreNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
-
invokeBeforeAddAspect
protected void invokeBeforeAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
-
invokeOnAddAspect
protected void invokeOnAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
-
invokeBeforeRemoveAspect
protected void invokeBeforeRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
-
invokeOnRemoveAspect
protected void invokeOnRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
-
invokeOnCreateChildAssociation
protected void invokeOnCreateChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, boolean isNewNode)
-
invokeBeforeDeleteChildAssociation
protected void invokeBeforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
-
invokeOnDeleteChildAssociation
protected void invokeOnDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
-
invokeOnCreateAssociation
protected void invokeOnCreateAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)
-
invokeBeforeDeleteAssociation
protected void invokeBeforeDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)
-
invokeOnDeleteAssociation
protected void invokeOnDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)
-
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.InvalidNodeRefExceptionDefers to the pattern matching overload- Specified by:
getParentAssocsin interfaceorg.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.InvalidNodeRefExceptionDefers to the pattern matching overload- Specified by:
getChildAssocsin interfaceorg.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:
findNodesin interfaceorg.alfresco.service.cmr.repository.NodeService
-
removeSeconaryChildAssociation
public final boolean removeSeconaryChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
- Specified by:
removeSeconaryChildAssociationin interfaceorg.alfresco.service.cmr.repository.NodeService
-
-