rename MailboxTree -> MailTree
[org.ibex.mail.git] / src / org / ibex / mail / MailboxTree.java
diff --git a/src/org/ibex/mail/MailboxTree.java b/src/org/ibex/mail/MailboxTree.java
deleted file mode 100644 (file)
index 4728857..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2007 the Contributors, as shown in the revision logs.
-// Licensed under the Apache Public Source License 2.0 ("the License").
-// You may not use this file except in compliance with the License.
-
-package org.ibex.mail;
-import org.ibex.mail.*;
-import org.ibex.util.*;
-import org.ibex.mail.*;
-import org.ibex.js.*;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.text.*;
-
-/** a node on the "mailbox tree" */
-public interface MailboxTree {
-    public abstract MailboxTree  slash(String name, boolean create);
-    public abstract String[]     children();
-    public abstract void         rmdir(String subdir);
-    public abstract void         rename(String subdir, MailboxTree newParent, String newName);        /* FIXME: IMAP semantics require creating parent dirs */
-    public abstract Mailbox      getMailbox();
-
-    public static class Wrapper implements MailboxTree {
-        protected MailboxTree mt;
-        public Wrapper(MailboxTree mt) { this.mt = mt; }
-        public MailboxTree  slash(String name, boolean create) { return mt.slash(name, create); }
-        public String[]     children() { return mt.children(); }
-        public void         rmdir(String subdir) { mt.rmdir(subdir); }
-        public void         rename(String subdir, MailboxTree newParent, String newName) { mt.rename(subdir, newParent, newName); }
-        public Mailbox      getMailbox() { return mt.getMailbox(); }
-    }
-
-    public static class AclWrapper extends Wrapper {
-        protected Acl.Entry acl;
-        public AclWrapper(MailboxTree mt, Acl.Entry acl) { super(mt); this.acl = acl; }
-        public Mailbox      getMailbox() {
-            return new Mailbox.AclWrapper(mt.getMailbox(), acl) {
-                    public MailboxTree  slash(String name, boolean create) {
-                        return MailboxTree.AclWrapper.this.slash(name, create);
-                    }
-                };
-        }
-        public MailboxTree slash(String name, boolean create) {
-            if (!acl.mkdir) create = false;
-            if (!acl.list) return null;
-            return super.slash(name, create);
-        }
-        public void rmdir(String subdir) {
-            if (!acl.delete) throw new Acl.PermissionDenied();
-            super.rmdir(subdir);
-        }
-        public void rename(String subdir, MailboxTree newParent, String newName) {
-            // FIXME: acl-checking on parent?
-            if (!acl.delete) throw new Acl.PermissionDenied();
-            super.rename(subdir, newParent, newName);
-        }
-    }
-
-}