public boolean implies(Permission perm) {
Enumeration< Permission > elemEnum = elements();
while (elemEnum.hasMoreElements()) {
if ((elemEnum.nextElement()).implies(perm)) {
return true;
}
}
/*
* At this point, the only way it can succeed is if both read and write
* are set, and these are separately granted by two different
* permissions with one representing a parent directory.
*/
return perm.getActions().equals("read,write") //$NON-NLS-1$
&& implies(new PropertyPermission(perm.getName(), "read")) //$NON-NLS-1$
&& implies(new PropertyPermission(perm.getName(), "write")); //$NON-NLS-1$
}
|