@Override public void setRules(UserEntry[] userEntries) { setRules(ACL.LOCAL_ACL, userEntries); }
public static ACL newACL(String name) { return new ACLImpl(name); }
@Override public ACPImpl clone() { ACPImpl copy = new ACPImpl(); for (ACL acl : acls) { copy.acls.add((ACL) acl.clone()); } return copy; }
@Override public boolean removeACE(String aclName, ACE ace) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.remove(ace); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean removeACEsByUsername(String username) { boolean changed = false; for (ACL acl : acls) { boolean aclChanged = acl.removeByUsername(username); if (aclChanged) { addACL(acl); changed = true; } } return changed; }
@Override public void setACEs(ACE[] aces) { clear(); addAll(Arrays.asList(aces)); warnForDuplicateACEs(aces); }
public static Access getAccess(ACE ace, String[] principals, String[] permissions) { String acePerm = ace.getPermission(); String aceUser = ace.getUsername(); for (String principal : principals) { if (principalsMatch(aceUser, principal)) { // check permission match only if principal is matching for (String permission : permissions) { if (permissionsMatch(acePerm, permission)) { return ace.isGranted() ? Access.GRANT : Access.DENY; } // end permissionMatch } // end perm for } // end principalMatch } // end princ for return Access.UNKNOWN; }
@Override @Deprecated public void addPrivilege(String permission, boolean granted, boolean readOnly) { addPrivilege(permission, granted); }
@Override public ACL getOrCreateACL() { return getOrCreateACL(ACL.LOCAL_ACL); }
private static boolean principalsMatch(ACE ace, String principal) { String acePrincipal = ace.getUsername(); return principalsMatch(acePrincipal, principal); }
@Override public ACL getMergedACLs(String name) { ACL mergedAcl = new ACLImpl(name, true); for (ACL acl : acls) { mergedAcl.addAll(acl); } return mergedAcl; }
@Override public void setRules(UserEntry[] userEntries, boolean overwrite) { setRules(ACL.LOCAL_ACL, userEntries, overwrite); }
@Override public void addPrivilege(String permission, boolean isGranted) { if (isGranted) { addPrivilege(permission); } else { granted.remove(permission); denied.add(permission); } }
@Override public void setRules(String aclName, UserEntry[] userEntries) { setRules(aclName, userEntries, true); }