Interface AclDAO
- All Known Implementing Classes:
AclDAOImpl
public interface AclDAO
Provides data access support for persistence in alf_access_control_list.
- Since:
- 3.4
- Author:
- Andy Hind, janv
-
Method Summary
Modifier and TypeMethodDescriptionCreate a new ACL with default propertiescreateAccessControlList(AccessControlListProperties properties) Create a new ACL with the given properties.createAccessControlList(AccessControlListProperties properties, List<AccessControlEntry> aces, Long inherited) createLayeredAcl(Long indirectedAcl) deleteAccessControlEntries(Long id, AccessControlEntry pattern) Delete some locally set ACLs according to the patterndeleteAccessControlEntries(String authority) Delete all ACEs that reference this authority as no longer valid.Delete an ACLvoiddeleteAclForNode(long aclId) Delete the ACEs in position > 0 (those not set directly on the ACL but inherited) No affect on any other aclDelete the ACEs in position 0 (those set directly on the ACL and not inherited) Cleans up existing aclsdisableInheritance(Long id, boolean setInheritedOnAcl) Disable inheritanceenableInheritance(Long id, Long parent) Enable inheritancevoidfixSharedAcl(Long shared, Long defining) Get an ACL (including entries)Get the ACL propertiesGet an ACLgetAclCopy(Long toCopy, Long toInheritFrom, ACLCopyMode mode) getADMNodesByAcl(long aclEntityId, int maxResults) Get the default ACL propertiesGet the id of the ACL inherited from the one given May return null if there is nothing to inherit -> OLD world where nodes have their own ACL and we walk the parent chaingetMaxChangeSetIdByCommitTime(long maxCommitTime) mergeInheritedAccessControlList(Long inherited, Long target) Merge inherited ACEs in to target - the merged ACEs will go in at their current position +1voidrenameAuthority(String before, String after) setAccessControlEntry(Long id, AccessControlEntry ace) Add an access control entryvoidTransaction-scope setting to make the DAO guarantee the validity of all caches: some cache data will be reloaded; some cache data will be considered safe.
-
Method Details
-
setCheckAclConsistency
void setCheckAclConsistency()Transaction-scope setting to make the DAO guarantee the validity of all caches: some cache data will be reloaded; some cache data will be considered safe. -
getAccessControlList
Get an ACL (including entries) -
getAcl
Get an ACL -
getAccessControlListProperties
Get the ACL properties- Returns:
- - the id of all ACLs affected
-
deleteAccessControlList
Delete an ACL- Returns:
- - the id of all ACLs affected
-
deleteLocalAccessControlEntries
Delete the ACEs in position 0 (those set directly on the ACL and not inherited) Cleans up existing acls- Returns:
- - the id of all ACLs affected
-
deleteInheritedAccessControlEntries
Delete the ACEs in position > 0 (those not set directly on the ACL but inherited) No affect on any other acl- Returns:
- - the id of all ACLs affected
-
deleteAccessControlEntries
Delete all ACEs that reference this authority as no longer valid. THIS DOES NOT CAUSE ANY ACL TO VERSION Used when deleting a user. No ACL is updated - the user has gone the aces and all related info is deleted.- Returns:
- - the id of all ACLs affected
-
deleteAccessControlEntries
Delete some locally set ACLs according to the pattern- Parameters:
pattern- - non null elements are used for the match- Returns:
- - the id of all ACLs affected
-
setAccessControlEntry
Add an access control entry -
enableInheritance
Enable inheritance -
disableInheritance
Disable inheritance -
createAccessControlList
Long createAccessControlList()Create a new ACL with default properties -
getDefaultProperties
AccessControlListProperties getDefaultProperties()Get the default ACL properties- Returns:
- the default properties
-
createAccessControlList
Create a new ACL with the given properties. Unset properties are assigned defaults.- Returns:
- Acl
-
createAccessControlList
Acl createAccessControlList(AccessControlListProperties properties, List<AccessControlEntry> aces, Long inherited) - Returns:
- Acl
- See Also:
-
getInheritedAccessControlList
Get the id of the ACL inherited from the one given May return null if there is nothing to inherit -> OLD world where nodes have their own ACL and we walk the parent chain -
mergeInheritedAccessControlList
Merge inherited ACEs in to target - the merged ACEs will go in at their current position +1 -
getAclCopy
-
getADMNodesByAcl
-
createLayeredAcl
-
renameAuthority
-
deleteAclForNode
void deleteAclForNode(long aclId) -
getMaxChangeSetCommitTime
Long getMaxChangeSetCommitTime()- Returns:
- Long
-
getMaxChangeSetIdByCommitTime
- Parameters:
maxCommitTime- long- Returns:
- Long
-
getCurrentChangeSetCommitTime
Long getCurrentChangeSetCommitTime()- Returns:
- the commit time of the current ACL change set entry or null if there have not been any modifications.
-