add Mailbox.get(JS)
authoradam <adam@megacz.com>
Mon, 22 Jun 2009 00:10:48 +0000 (00:10 +0000)
committeradam <adam@megacz.com>
Mon, 22 Jun 2009 00:10:48 +0000 (00:10 +0000)
darcs-hash:20090622001048-5007d-69850271e8f2019a3a084f18e57bbb1fa4d798ef.gz

src/org/ibex/mail/Mailbox.java

index 23c62cf..3d3f8bb 100644 (file)
@@ -48,13 +48,16 @@ public abstract class Mailbox extends JS.Obj implements Target {
     }
 
     /** default, inefficient implementation of Mailbox; only requires a few methods to be implemented */
-    public static abstract class Default extends Mailbox {
+    public static abstract class Default extends Mailbox /* implements MailTree? */ {
         public Mailbox.Iterator iterator(Query q) { return new Mailbox.Iterator.QueryIterator(q, this); }
         public void copy(Query q, Mailbox dest) { for(Mailbox.Iterator it = iterator(q); it.next();) dest.insert(it.cur(), it.getFlags()); }
         public int count(Query q) { int count = 0; for(Mailbox.Iterator it = iterator(q); it.next();) count++; return count; }
         public MailTree slash(String name, boolean create) { return null; }
         public String[] children() { return new String[] { }; }
         public void post(Message message) { insert(message, Flag.RECENT); }
+        public JS get(JS key) throws JSExn {
+            return (JS)slash(JSU.toString(key), true);
+        }
         public void move(Query q, Mailbox dest) {
             for(Mailbox.Iterator it = iterator(q);it.next();) { dest.insert(it.cur(), it.getFlags()); it.delete(); }
         }