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 Detail

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

        List<AclChange> disableInheritance​(Long id,
                                           boolean setInheritedOnAcl)
        Disable inheritance
      • 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
      • 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
      • 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