by default, UIDVALIDITY is randomly regenerated on each login
[org.ibex.mail.git] / src / org / ibex / mail / target / Mailbox.java
index 48e7a45..b650006 100644 (file)
@@ -30,7 +30,6 @@ public abstract class Mailbox extends Target {
     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);
@@ -45,6 +44,9 @@ public abstract class Mailbox extends Target {
 
     // 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); }