org.alfresco.repo.domain.permissions
Class AbstractPermissionsDaoComponentImpl

java.lang.Object
  extended by org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl
All Implemented Interfaces:
PermissionsDaoComponent
Direct Known Subclasses:
ADMPermissionsDaoComponentImpl, AVMPermissionsDaoComponentImpl

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


Field Summary
protected  AclDAO aclDaoComponent
           
protected static boolean INHERIT_PERMISSIONS_DEFAULT
           
 
Method Summary
protected abstract  org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReport createAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inherit, Acl existing)
           
 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.
 void deletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission)
          Remove part of a permission mask from a store
 void deletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority)
          Delete permission entries for the given node and authority
 void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
          Remove all permission masks from a store
 void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority)
          Delete entries from a permission mask on a store by authority
 void deletePermissions(java.lang.String authority)
          Remove all permissions for the specified authority
 boolean equals(java.lang.Object obj)
          Checks equality by type and uuid
 java.util.Set findNodeByPermission(java.lang.String authority, PermissionReference permission, boolean allow)
           
protected  Acl getAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)
           
 AccessControlListProperties getAccessControlListProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Get the properties for the access control list
protected  AccessControlListDAO getACLDAO(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Helper to choose appropriate NodeService for the given NodeRef
 java.util.Map getAllSetPermissions(java.lang.String authority)
           
 boolean getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Return the inheritance behaviour for permissions on a given node.
protected  org.alfresco.repo.domain.permissions.AbstractPermissionsDaoComponentImpl.CreationReport getMutableAccessControlList(org.alfresco.service.cmr.repository.NodeRef nodeRef)
           
 NodePermissionEntry getPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Get the permissions that have been set on a given node.
 NodePermissionEntry getPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
          Get permission masks set on a store
 int hashCode()
           
 void setAclDAO(AclDAO aclDaoComponent)
          Set the ACL DAO component
 void setDefaultACLDAO(AccessControlListDAO defaultACLDAO)
          Set the default DAO
 void setInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions)
          Set the inheritance behaviour for permissions on a given node.
 void setPermission(NodePermissionEntry nodePermissionEntry)
          Create a persisted node permission entry given a template object from which to copy.
 void setPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference permission, boolean allow)
          Set a permission on a node.
 void setPermission(PermissionEntry permissionEntry)
          Create a persisted permission entry given and other representation of a permission entry.
 void setPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission, boolean allow)
          Set part of a permission mask on a store.
 void setProtocolToACLDAO(java.util.Map 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 -

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:
AbstractPermissionsDaoComponentImpl.uuid

setProtocolToACLDAO

public void setProtocolToACLDAO(java.util.Map map)
Set the mapping of protocol to DAO

Parameters:
map -

setDefaultACLDAO

public void setDefaultACLDAO(AccessControlListDAO defaultACLDAO)
Set the default DAO

Parameters:
defaultACLDAO -

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: PermissionsDaoComponent
Get the permissions that have been set on a given node.

Specified by:
getPermissions in interface PermissionsDaoComponent
Returns:
the node permission entry

getAllSetPermissions

public java.util.Map getAllSetPermissions(java.lang.String authority)

findNodeByPermission

public java.util.Set findNodeByPermission(java.lang.String authority,
                                          PermissionReference permission,
                                          boolean allow)

getInheritParentPermissions

public boolean getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface: PermissionsDaoComponent
Return the inheritance behaviour for permissions on a given node.

Specified by:
getInheritParentPermissions in interface PermissionsDaoComponent
Returns:
inheritParentPermissions

deletePermissions

public void deletePermissions(java.lang.String authority)
Description copied from interface: PermissionsDaoComponent
Remove all permissions for the specified authority

Specified by:
deletePermissions in interface PermissionsDaoComponent

deletePermissions

public void deletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                              java.lang.String authority)
Description copied from interface: PermissionsDaoComponent
Delete permission entries for the given node and authority

Specified by:
deletePermissions in interface PermissionsDaoComponent
Parameters:
nodeRef - the node to query against
authority - 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:
deletePermission in interface PermissionsDaoComponent
Parameters:
nodeRef - the node with the access control list
authority - the specific authority to look for
permission - 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: PermissionsDaoComponent
Set 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:
setPermission in interface PermissionsDaoComponent

setPermission

public void setPermission(PermissionEntry permissionEntry)
Description copied from interface: PermissionsDaoComponent
Create a persisted permission entry given and other representation of a permission entry.

Specified by:
setPermission in interface PermissionsDaoComponent

setPermission

public void setPermission(NodePermissionEntry nodePermissionEntry)
Description copied from interface: PermissionsDaoComponent
Create a persisted node permission entry given a template object from which to copy.

Specified by:
setPermission in interface PermissionsDaoComponent

setInheritParentPermissions

public void setInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                        boolean inheritParentPermissions)
Description copied from interface: PermissionsDaoComponent
Set the inheritance behaviour for permissions on a given node.

Specified by:
setInheritParentPermissions in interface PermissionsDaoComponent

deletePermission

public void deletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef,
                             java.lang.String authority,
                             PermissionReference permission)
Description copied from interface: PermissionsDaoComponent
Remove part of a permission mask from a store

Specified by:
deletePermission in interface PermissionsDaoComponent

deletePermissions

public void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef,
                              java.lang.String authority)
Description copied from interface: PermissionsDaoComponent
Delete entries from a permission mask on a store by authority

Specified by:
deletePermissions in interface PermissionsDaoComponent

deletePermissions

public void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface: PermissionsDaoComponent
Remove all permission masks from a store

Specified by:
deletePermissions in interface PermissionsDaoComponent

setPermission

public void setPermission(org.alfresco.service.cmr.repository.StoreRef storeRef,
                          java.lang.String authority,
                          PermissionReference permission,
                          boolean allow)
Description copied from interface: PermissionsDaoComponent
Set part of a permission mask on a store.

Specified by:
setPermission in interface PermissionsDaoComponent

getPermissions

public NodePermissionEntry getPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface: PermissionsDaoComponent
Get permission masks set on a store

Specified by:
getPermissions in interface PermissionsDaoComponent
Returns:
the node permission entry

getAccessControlListProperties

public AccessControlListProperties getAccessControlListProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface: PermissionsDaoComponent
Get the properties for the access control list

Specified by:
getAccessControlListProperties in interface PermissionsDaoComponent
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)


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