org.alfresco.repo.domain.hibernate
Class DMAccessControlListDAO

java.lang.Object
  extended by org.alfresco.repo.domain.hibernate.DMAccessControlListDAO
All Implemented Interfaces:
AccessControlListDAO

public class DMAccessControlListDAO
extends java.lang.Object
implements AccessControlListDAO

DAO layer for the improved ACL implemtentation. This layer is responsible for setting ACLs and any cascade behaviour required. It also implements the migration from the old implementation to the new.


Constructor Summary
DMAccessControlListDAO()
           
 
Method Summary
 void forceCopy(NodeRef nodeRef)
           
 DbAccessControlList getAccessControlList(NodeRef nodeRef)
          Get the ACL from a node.
 DbAccessControlList getAccessControlList(StoreRef storeRef)
           
 java.lang.Long getIndirectAcl(NodeRef nodeRef)
           
 java.lang.Long getInheritedAcl(NodeRef nodeRef)
           
 java.util.Map patchAcls()
           
 void setAccessControlList(NodeRef nodeRef, DbAccessControlList acl)
          Set the ACL on a node.
 void setAccessControlList(NodeRef nodeRef, java.lang.Long aclId)
          Set the ACL on a node.
 void setAccessControlList(StoreRef storeRef, DbAccessControlList acl)
           
 void setAclDaoComponent(AclDaoComponent aclDaoComponent)
          Set the ACL DAO components
 void setFixedAcls(NodeRef nodeRef, java.lang.Long inheritFrom, java.lang.Long mergeFrom, java.util.List changes, boolean set)
          Support to set a shared ACL on a node and all of its children
 void setHibernateSessionHelper(HibernateSessionHelper hibernateSessionHelper)
          Set the hibernate session helper for session size management
 java.util.List setInheritanceForChildren(NodeRef parent, java.lang.Long inheritFrom)
          Update inheritance
 void setNodeDaoService(NodeDaoService nodeDaoService)
          Set the node dao service
 void setNodeService(NodeService nodeService)
          Set the node service.
 void updateChangedAcls(NodeRef startingPoint, java.util.List changes)
          Update any associated ACLs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DMAccessControlListDAO

public DMAccessControlListDAO()
Method Detail

setNodeDaoService

public void setNodeDaoService(NodeDaoService nodeDaoService)
Set the node dao service

Parameters:
nodeDaoService -

setAclDaoComponent

public void setAclDaoComponent(AclDaoComponent aclDaoComponent)
Set the ACL DAO components

Parameters:
aclDaoComponent -

setHibernateSessionHelper

public void setHibernateSessionHelper(HibernateSessionHelper hibernateSessionHelper)
Set the hibernate session helper for session size management

Parameters:
hibernateSessionHelper -

setNodeService

public void setNodeService(NodeService nodeService)
Set the node service.

Parameters:
nodeService -

forceCopy

public void forceCopy(NodeRef nodeRef)
Specified by:
forceCopy in interface AccessControlListDAO

getAccessControlList

public DbAccessControlList getAccessControlList(NodeRef nodeRef)
Description copied from interface: AccessControlListDAO
Get the ACL from a node.

Specified by:
getAccessControlList in interface AccessControlListDAO
Parameters:
nodeRef - The reference to the node.
Returns:
The ACL.

getAccessControlList

public DbAccessControlList getAccessControlList(StoreRef storeRef)
Specified by:
getAccessControlList in interface AccessControlListDAO

getIndirectAcl

public java.lang.Long getIndirectAcl(NodeRef nodeRef)
Specified by:
getIndirectAcl in interface AccessControlListDAO

getInheritedAcl

public java.lang.Long getInheritedAcl(NodeRef nodeRef)
Specified by:
getInheritedAcl in interface AccessControlListDAO

patchAcls

public java.util.Map patchAcls()
Specified by:
patchAcls in interface AccessControlListDAO

setAccessControlList

public void setAccessControlList(NodeRef nodeRef,
                                 java.lang.Long aclId)
Description copied from interface: AccessControlListDAO
Set the ACL on a node.

Specified by:
setAccessControlList in interface AccessControlListDAO
Parameters:
nodeRef - The reference to the node.
aclId - The ID of the ACL entity.

setAccessControlList

public void setAccessControlList(NodeRef nodeRef,
                                 DbAccessControlList acl)
Description copied from interface: AccessControlListDAO
Set the ACL on a node.

Specified by:
setAccessControlList in interface AccessControlListDAO
Parameters:
nodeRef - The reference to the node.
acl - The ACL.

setAccessControlList

public void setAccessControlList(StoreRef storeRef,
                                 DbAccessControlList acl)
Specified by:
setAccessControlList in interface AccessControlListDAO

setInheritanceForChildren

public java.util.List setInheritanceForChildren(NodeRef parent,
                                                java.lang.Long inheritFrom)
Description copied from interface: AccessControlListDAO
Update inheritance

Specified by:
setInheritanceForChildren in interface AccessControlListDAO
Returns:

updateChangedAcls

public void updateChangedAcls(NodeRef startingPoint,
                              java.util.List changes)
Description copied from interface: AccessControlListDAO
Update any associated ACLs

Specified by:
updateChangedAcls in interface AccessControlListDAO

setFixedAcls

public void setFixedAcls(NodeRef nodeRef,
                         java.lang.Long inheritFrom,
                         java.lang.Long mergeFrom,
                         java.util.List changes,
                         boolean set)
Support to set a shared ACL on a node and all of its children

Parameters:
nodeRef - the parent node
inheritFrom - the parent node's ACL
mergeFrom - the shared ACL, if already known. If null, will be retrieved / created lazily
changes - the list in which to record changes
set - set the shared ACL on the parent ?


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