Class AbstractPermissionsDaoComponentImpl
- java.lang.Object
-
- org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl
-
- All Implemented Interfaces:
PermissionsDaoComponent
- Direct Known Subclasses:
ADMPermissionsDaoComponentImpl
public abstract class AbstractPermissionsDaoComponentImpl extends java.lang.Object implements PermissionsDaoComponent
Common support for permisisons dao Sub classes determine how ACLs are cascaded to children and how changes may COW/version children as ACLs are pushed down. TODO: remove the protocol to dao mapping- Author:
- andyh
-
-
Field Summary
Fields Modifier and Type Field Description protected AclDAOaclDaoComponentprotected static booleanINHERIT_PERMISSIONS_DEFAULT
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReportcreateAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inherit, Acl existing)voiddeletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference permission)Deletes all permission entries (access control list entries) that match the given criteria.voiddeletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission)Remove part of a permission mask from a storevoiddeletePermissions(java.lang.String authority)Remove all permissions for the specified authorityvoiddeletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority)Delete permission entries for the given node and authorityvoiddeletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)Remove all permission masks from a storevoiddeletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority)Delete entries from a permission mask on a store by authoritybooleanequals(java.lang.Object obj)Checks equality by type and uuidjava.util.Set<org.alfresco.service.cmr.repository.NodeRef>findNodeByPermission(java.lang.String authority, PermissionReference permission, boolean allow)protected AclgetAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)AccessControlListPropertiesgetAccessControlListProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)Get the properties for the access control listprotected AccessControlListDAOgetACLDAO(org.alfresco.service.cmr.repository.NodeRef nodeRef)Helper to choose appropriate NodeService for the given NodeRefjava.util.Map<org.alfresco.service.cmr.repository.NodeRef,java.util.Set<org.alfresco.service.cmr.security.AccessPermission>>getAllSetPermissions(java.lang.String authority)booleangetInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)Return the inheritance behaviour for permissions on a given node.protected org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReportgetMutableAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)NodePermissionEntrygetPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)Get the permissions that have been set on a given node.NodePermissionEntrygetPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)Get permission masks set on a storeinthashCode()voidsetAclDAO(AclDAO aclDaoComponent)Set the ACL DAO componentvoidsetDefaultACLDAO(AccessControlListDAO defaultACLDAO)Set the default DAOvoidsetInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions)Set the inheritance behaviour for permissions on a given node.voidsetPermission(NodePermissionEntry nodePermissionEntry)Create a persisted node permission entry given a template object from which to copy.voidsetPermission(PermissionEntry permissionEntry)Create a persisted permission entry given and other representation of a permission entry.voidsetPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference permission, boolean allow)Set a permission on a node.voidsetPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission, boolean allow)Set part of a permission mask on a store.voidsetProtocolToACLDAO(java.util.Map<java.lang.String,AccessControlListDAO> map)Set the mapping of protocol to DAO-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.alfresco.repo.security.permissions.impl.PermissionsDaoComponent
deletePermissions
-
-
-
-
Field Detail
-
INHERIT_PERMISSIONS_DEFAULT
protected static final boolean INHERIT_PERMISSIONS_DEFAULT
- See Also:
- Constant Field Values
-
aclDaoComponent
protected AclDAO aclDaoComponent
-
-
Method Detail
-
setAclDAO
public void setAclDAO(AclDAO aclDaoComponent)
Set the ACL DAO component- Parameters:
aclDaoComponent- AclDAO
-
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
-
setProtocolToACLDAO
public void setProtocolToACLDAO(java.util.Map<java.lang.String,AccessControlListDAO> map)
Set the mapping of protocol to DAO
-
setDefaultACLDAO
public void setDefaultACLDAO(AccessControlListDAO defaultACLDAO)
Set the default DAO- Parameters:
defaultACLDAO- AccessControlListDAO
-
getACLDAO
protected AccessControlListDAO getACLDAO(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Helper to choose appropriate NodeService for the given NodeRef- Parameters:
nodeRef- The NodeRef to dispatch from.- Returns:
- The appropriate NodeService.
-
getAccessControlList
protected Acl getAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
getMutableAccessControlList
protected org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReport getMutableAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
getPermissions
public NodePermissionEntry getPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:PermissionsDaoComponentGet the permissions that have been set on a given node.- Specified by:
getPermissionsin interfacePermissionsDaoComponent- Returns:
- the node permission entry
-
getAllSetPermissions
public java.util.Map<org.alfresco.service.cmr.repository.NodeRef,java.util.Set<org.alfresco.service.cmr.security.AccessPermission>> getAllSetPermissions(java.lang.String authority)
-
findNodeByPermission
public java.util.Set<org.alfresco.service.cmr.repository.NodeRef> findNodeByPermission(java.lang.String authority, PermissionReference permission, boolean allow)
-
getInheritParentPermissions
public boolean getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:PermissionsDaoComponentReturn the inheritance behaviour for permissions on a given node.- Specified by:
getInheritParentPermissionsin interfacePermissionsDaoComponent- Returns:
- inheritParentPermissions
-
deletePermissions
public void deletePermissions(java.lang.String authority)
Description copied from interface:PermissionsDaoComponentRemove all permissions for the specified authority- Specified by:
deletePermissionsin interfacePermissionsDaoComponent
-
deletePermissions
public void deletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority)Description copied from interface:PermissionsDaoComponentDelete permission entries for the given node and authority- Specified by:
deletePermissionsin interfacePermissionsDaoComponent- Parameters:
nodeRef- the node to query againstauthority- the specific authority to query against
-
deletePermission
public void deletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference permission)Deletes all permission entries (access control list entries) that match the given criteria. Note that the access control list for the node is not deleted.- Specified by:
deletePermissionin interfacePermissionsDaoComponent- Parameters:
nodeRef- the node with the access control listauthority- the specific authority to look forpermission- the permission to look for
-
setPermission
public void setPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference permission, boolean allow)Description copied from interface:PermissionsDaoComponentSet a permission on a node. If the node has no permissions set then a default node permission (allowing inheritance) will be created to contain the permission entry.- Specified by:
setPermissionin interfacePermissionsDaoComponent
-
setPermission
public void setPermission(PermissionEntry permissionEntry)
Description copied from interface:PermissionsDaoComponentCreate a persisted permission entry given and other representation of a permission entry.- Specified by:
setPermissionin interfacePermissionsDaoComponent
-
setPermission
public void setPermission(NodePermissionEntry nodePermissionEntry)
Description copied from interface:PermissionsDaoComponentCreate a persisted node permission entry given a template object from which to copy.- Specified by:
setPermissionin interfacePermissionsDaoComponent
-
setInheritParentPermissions
public void setInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions)Description copied from interface:PermissionsDaoComponentSet the inheritance behaviour for permissions on a given node.- Specified by:
setInheritParentPermissionsin interfacePermissionsDaoComponent
-
deletePermission
public void deletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission)Description copied from interface:PermissionsDaoComponentRemove part of a permission mask from a store- Specified by:
deletePermissionin interfacePermissionsDaoComponent
-
deletePermissions
public void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority)Description copied from interface:PermissionsDaoComponentDelete entries from a permission mask on a store by authority- Specified by:
deletePermissionsin interfacePermissionsDaoComponent
-
deletePermissions
public void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface:PermissionsDaoComponentRemove all permission masks from a store- Specified by:
deletePermissionsin interfacePermissionsDaoComponent
-
setPermission
public void setPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission, boolean allow)Description copied from interface:PermissionsDaoComponentSet part of a permission mask on a store.- Specified by:
setPermissionin interfacePermissionsDaoComponent
-
getPermissions
public NodePermissionEntry getPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface:PermissionsDaoComponentGet permission masks set on a store- Specified by:
getPermissionsin interfacePermissionsDaoComponent- Returns:
- the node permission entry
-
getAccessControlListProperties
public AccessControlListProperties getAccessControlListProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:PermissionsDaoComponentGet the properties for the access control list- Specified by:
getAccessControlListPropertiesin interfacePermissionsDaoComponent- Returns:
- the properties for the access control list
-
createAccessControlList
protected abstract org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReport createAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inherit, Acl existing)
-
-