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 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

      AccessControlList getAccessControlList(Long id)
      Get an ACL (including entries)
    • getAcl

      Acl getAcl(Long id)
      Get an ACL
    • getAccessControlListProperties

      AccessControlListProperties getAccessControlListProperties(Long id)
      Get the ACL properties
      Returns:
      - the id of all ACLs affected
    • deleteAccessControlList

      List<AclChange> deleteAccessControlList(Long id)
      Delete an ACL
      Returns:
      - the id of all ACLs affected
    • deleteLocalAccessControlEntries

      List<AclChange> deleteLocalAccessControlEntries(Long id)
      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

      List<AclChange> deleteInheritedAccessControlEntries(Long id)
      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

      List<AclChange> deleteAccessControlEntries(String authority)
      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

      List<AclChange> deleteAccessControlEntries(Long id, AccessControlEntry pattern)
      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

      List<AclChange> setAccessControlEntry(Long id, AccessControlEntry ace)
      Add an access control entry
    • enableInheritance

      List<AclChange> enableInheritance(Long id, Long parent)
      Enable inheritance
    • disableInheritance

      List<AclChange> disableInheritance(Long id, boolean setInheritedOnAcl)
      Disable inheritance
    • createAccessControlList

      Long createAccessControlList()
      Create a new ACL with default properties
      See Also:
    • getDefaultProperties

      AccessControlListProperties getDefaultProperties()
      Get the default ACL properties
      Returns:
      the default properties
    • createAccessControlList

      Acl createAccessControlList(AccessControlListProperties properties)
      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

      Long getInheritedAccessControlList(Long id)
      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

      List<AclChange> mergeInheritedAccessControlList(Long inherited, Long target)
      Merge inherited ACEs in to target - the merged ACEs will go in at their current position +1
    • getAclCopy

      Acl getAclCopy(Long toCopy, Long toInheritFrom, ACLCopyMode mode)
    • getADMNodesByAcl

      List<Long> getADMNodesByAcl(long aclEntityId, int maxResults)
    • createLayeredAcl

      Acl createLayeredAcl(Long indirectedAcl)
    • renameAuthority

      void renameAuthority(String before, String after)
    • deleteAclForNode

      void deleteAclForNode(long aclId)
    • fixSharedAcl

      void fixSharedAcl(Long shared, Long defining)
      Parameters:
      shared - Long
      defining - Long
    • getMaxChangeSetCommitTime

      Long getMaxChangeSetCommitTime()
      Returns:
      Long
    • getMaxChangeSetIdByCommitTime

      Long getMaxChangeSetIdByCommitTime(long maxCommitTime)
      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.