public static LocalPrivilege localAllowAndDenyPriv()

in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/impl/PrivilegesHelper.java [93:120]


    public static LocalPrivilege localAllowAndDenyPriv(Map<Privilege, LocalPrivilege> privilegeToLocalPrivilegesMap, 
            Privilege privilege,
            boolean allow, @NotNull Set<LocalRestriction> allowRestrictions,
            boolean deny, @NotNull Set<LocalRestriction> denyRestrictions
            ) {
        LocalPrivilege localPrivilege = privilegeToLocalPrivilegesMap.computeIfAbsent(privilege, LocalPrivilege::new);
        if (allow) {
            localPrivilege.setAllow(true);
            localPrivilege.setAllowRestrictions(allowRestrictions);
        } else {
            localPrivilege.setAllow(false);
            localPrivilege.setAllowRestrictions(Collections.emptySet());
        }
        if (deny) {
            localPrivilege.setDeny(true);
            localPrivilege.setDenyRestrictions(denyRestrictions);
        } else {
            localPrivilege.setDeny(false);
            localPrivilege.setDenyRestrictions(Collections.emptySet());
        }
        if (localPrivilege.isAllow() && localPrivilege.isDeny() && localPrivilege.sameAllowAndDenyRestrictions()) {
            // same restrictions to we prefer the allow
            localPrivilege.setDeny(false);
            localPrivilege.setDenyRestrictions(Collections.emptySet());
        }

        return localPrivilege;
    }