org.alfresco.repo.node
Class AbstractNodeServiceImpl

java.lang.Object
  extended by org.alfresco.repo.node.AbstractNodeServiceImpl
All Implemented Interfaces:
org.alfresco.service.cmr.repository.NodeService
Direct Known Subclasses:
AVMNodeService, 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.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.alfresco.service.cmr.repository.NodeService
org.alfresco.service.cmr.repository.NodeService.FindNodeParameters
 
Field Summary
protected  org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
           
protected  java.util.Set storesToIgnorePolicies
           
protected  org.alfresco.repo.tenant.TenantService tenantService
           
protected  TransactionService transactionService
           
 
Constructor Summary
protected AbstractNodeServiceImpl()
           
 
Method Summary
 boolean equals(java.lang.Object obj)
          Checks equality by type and uuid
 java.util.List findNodes(org.alfresco.service.cmr.repository.NodeService.FindNodeParameters params)
           
protected  java.lang.String generateGuid(java.util.Map preCreationProperties)
          Fetches any pre-defined node uuid from the properties, but does not generate a new uuid.
 java.util.List getChildAssocs(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Defers to the pattern matching overload
protected  java.util.Map getDefaultProperties(org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition)
          Sets the default property values
protected  java.util.Map getDefaultProperties(org.alfresco.service.namespace.QName typeQName)
           
 java.util.List getParentAssocs(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Defers to the pattern matching overload
protected  java.util.Set 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 if the indexer is present.
protected  void invokeBeforeAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
           
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 invokeBeforeCreateNodeAssociation(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName)
           
protected  void invokeBeforeCreateStore(org.alfresco.service.namespace.QName nodeTypeQName, org.alfresco.service.cmr.repository.StoreRef storeRef)
           
protected  void invokeBeforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
           
protected  void invokeBeforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
           
protected  void invokeBeforeRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName)
           
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 invokeOnCreateNodeAssociation(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 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 invokeOnUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
           
protected  void invokeOnUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map before, java.util.Map 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 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, 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, 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 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 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:
AbstractNodeServiceImpl.uuid

init

public void init()
Registers the node policies as well as node indexing behaviour if the indexer is present.


invokeBeforeCreateStore

protected void invokeBeforeCreateStore(org.alfresco.service.namespace.QName nodeTypeQName,
                                       org.alfresco.service.cmr.repository.StoreRef storeRef)
See Also:
NodeServicePolicies.BeforeCreateStorePolicy.beforeCreateStore(QName, StoreRef)

invokeOnCreateStore

protected void invokeOnCreateStore(org.alfresco.service.cmr.repository.NodeRef rootNodeRef)
See Also:
NodeServicePolicies.OnCreateStorePolicy.onCreateStore(NodeRef)

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)
See Also:
NodeServicePolicies.BeforeCreateNodePolicy.beforeCreateNode(NodeRef, QName, QName, QName)

invokeOnCreateNode

protected void invokeOnCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
See Also:
NodeServicePolicies.OnCreateNodePolicy.onCreateNode(ChildAssociationRef)

invokeOnMoveNode

protected void invokeOnMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef,
                                org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)
See Also:
NodeServicePolicies.OnMoveNodePolicy.onMoveNode(ChildAssociationRef, ChildAssociationRef)

invokeBeforeUpdateNode

protected void invokeBeforeUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
See Also:
NodeServicePolicies.BeforeUpdateNodePolicy.beforeUpdateNode(NodeRef)

invokeOnUpdateNode

protected void invokeOnUpdateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
See Also:
NodeServicePolicies.OnUpdateNodePolicy.onUpdateNode(NodeRef)

invokeOnUpdateProperties

protected void invokeOnUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                        java.util.Map before,
                                        java.util.Map after)
See Also:
NodeServicePolicies.OnUpdateProperties#onUpdatePropertiesPolicy(NodeRef, Map, Map)

invokeBeforeDeleteNode

protected void invokeBeforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
See Also:
NodeServicePolicies.BeforeDeleteNodePolicy.beforeDeleteNode(NodeRef)

invokeOnDeleteNode

protected void invokeOnDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef,
                                  org.alfresco.service.namespace.QName childNodeTypeQName,
                                  java.util.Set childAspectQnames,
                                  boolean isArchivedNode)
See Also:
NodeServicePolicies.OnDeleteNodePolicy#onDeleteNode(ChildAssociationRef)

invokeOnRestoreNode

protected void invokeOnRestoreNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
See Also:
NodeServicePolicies.OnRestoreNodePolicy#onDeleteNode(ChildAssociationRef)

invokeBeforeAddAspect

protected void invokeBeforeAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                     org.alfresco.service.namespace.QName aspectTypeQName)
See Also:
NodeServicePolicies.BeforeAddAspectPolicy.beforeAddAspect(NodeRef, QName)

invokeOnAddAspect

protected void invokeOnAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                 org.alfresco.service.namespace.QName aspectTypeQName)
See Also:
NodeServicePolicies.OnAddAspectPolicy.onAddAspect(NodeRef, QName)

invokeBeforeRemoveAspect

protected void invokeBeforeRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                        org.alfresco.service.namespace.QName aspectTypeQName)
See Also:
NodeServicePolicies.BeforeRemoveAspectPolicy#BeforeRemoveAspect(NodeRef, QName)

invokeOnRemoveAspect

protected void invokeOnRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                    org.alfresco.service.namespace.QName aspectTypeQName)
See Also:
NodeServicePolicies.OnRemoveAspectPolicy.onRemoveAspect(NodeRef, QName)

invokeBeforeCreateNodeAssociation

protected void invokeBeforeCreateNodeAssociation(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
                                                 org.alfresco.service.namespace.QName assocTypeQName,
                                                 org.alfresco.service.namespace.QName assocQName)
See Also:
NodeServicePolicies.BeforeCreateNodeAssociationPolicy#beforeCreateChildAssociation(NodeRef, NodeRef, QName, QName)

invokeOnCreateNodeAssociation

protected void invokeOnCreateNodeAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
See Also:
NodeServicePolicies.OnCreateNodeAssociationPolicy#onCreateChildAssociation(ChildAssociationRef)

invokeOnCreateChildAssociation

protected void invokeOnCreateChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef,
                                              boolean isNewNode)
See Also:
NodeServicePolicies.OnCreateChildAssociationPolicy#onCreateChildAssociation(ChildAssociationRef)

invokeBeforeDeleteChildAssociation

protected void invokeBeforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
See Also:
NodeServicePolicies.BeforeDeleteChildAssociationPolicy.beforeDeleteChildAssociation(ChildAssociationRef)

invokeOnDeleteChildAssociation

protected void invokeOnDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
See Also:
NodeServicePolicies.OnDeleteChildAssociationPolicy.onDeleteChildAssociation(ChildAssociationRef)

invokeOnCreateAssociation

protected void invokeOnCreateAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)
See Also:
NodeServicePolicies.OnCreateAssociationPolicy#onCreateAssociation(NodeRef, NodeRef, QName)

invokeOnDeleteAssociation

protected void invokeOnDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef)
See Also:
NodeServicePolicies.OnDeleteAssociationPolicy.onDeleteAssociation(AssociationRef)

getTypeAndAspectQNames

protected java.util.Set 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 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 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 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 getDefaultProperties(org.alfresco.service.namespace.QName typeQName)

getDefaultProperties

protected java.util.Map getDefaultProperties(org.alfresco.service.cmr.dictionary.ClassDefinition classDefinition)
Sets the default property values

Parameters:
classDefinition - the model type definition for which to get defaults
properties - the properties of the node

findNodes

public java.util.List 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


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.