public static abstract class AclWrapper extends Wrapper {
protected Acl.Entry acl;
public AclWrapper(MailTree mt, Acl.Entry acl) { super(mt); this.acl = acl; }
- public Mailbox getMailbox() { return new Mailbox.AclWrapper(mt.getMailbox(), acl); }
+ public Mailbox getMailbox() { return new Mailbox.AclWrapper(mt.getMailbox(), acl); }
public void rmdir(String subdir) {
if (!acl.delete) throw new Acl.PermissionDenied();
super.rmdir(subdir);
public RecursiveAclWrapper(MailTree mt, Acl.Entry acl) { super(mt, acl); }
public MailTree slash(String name, boolean create) {
if (!acl.list) throw new Acl.PermissionDenied();
- if (!acl.mkdirs) create = false;
- return new RecursiveAclWrapper(super.slash(name, create), acl);
+ if (!acl.mkdir) create = false;
+ return new RecursiveAclWrapper(mt.slash(name, create), acl);
}
}
}