isWriteAcl;
SourcePermission sourcepermission = null;
if (principal.equals("~")) {
sourcepermission = new PrincipalSourcePermission(PrincipalSourcePermission.PRINCIPAL_SELF,
null, inheritedPermissions, negative);
} else if (principal.equals("nobody")) {
sourcepermission = new PrincipalSourcePermission(PrincipalSourcePermission.PRINCIPAL_GUEST,
null, inheritedPermissions, negative);
} else if (principal.equals(userspath)) {
sourcepermission = new PrincipalSourcePermission(PrincipalSourcePermission.PRINCIPAL_ALL,
null, inheritedPermissions, negative);
} else if (principal.startsWith(userspath+"/")) {
sourcepermission = new PrincipalSourcePermission(principal.substring(userspath.length()+
1), null, inheritedPermissions, negative);
} else if (principal.startsWith("+"+userspath+"/")) {
sourcepermission = new GroupSourcePermission(principal.substring(userspath.length()+
2), null, inheritedPermissions, negative);
} else {
sourcepermission = new PrincipalSourcePermission(principal,
null, inheritedPermissions, negative);
}
if (isAll) {
sourcepermission.setPrivilege(SourcePermission.PRIVILEGE_ALL);