public abstract void copy(Query q, Mailbox dest);
public abstract int count(Query q);
public abstract int uidNext();
- public abstract int uidValidity();
public abstract void rename(String newName); /* FIXME: IMAP semantics require creating parent dirs */
public abstract void destroy(boolean recursive);
public abstract Mailbox slash(String name, boolean create);
// Default Implementation //////////////////////////////////////////////////////////////////////////////
+ private int randomUidValidity = new Random().nextInt();
+ public int uidValidity() { return randomUidValidity; }
+
/** default, inefficient implementation of Mailbox; only requires a few methods to be implemented */
public static abstract class Default extends Mailbox {
public Mailbox.Iterator iterator(Query q) { return new Mailbox.Iterator.QueryIterator(q, this); }
public void add(Message message) { return; }
public void add(Message message, int flags) { return; }
public int uidNext() { return messages.length+1; }
- public int uidValidity() { return 500; }
public Mailbox.Iterator iterator() { return new MessageArrayMailbox.Iterator(); }
public class Iterator extends Mailbox.Default.Iterator {