serialization support to work with Prevayler
[org.ibex.mail.git] / src / org / ibex / mail / target / FileBasedMailbox.java
index 60e5246..54347cf 100644 (file)
@@ -11,7 +11,7 @@ import java.text.*;
 // FIXME use directory date/time as UIDNEXT and file date/time as UID; need to 'correct' file date/time after changes
 
 /** An exceptionally crude implementation of Mailbox relying on POSIXy filesystem semantics */
-public class FileBasedMailbox extends Mailbox.Default {
+public class FileBasedMailbox extends Mailbox.Default implements Serializable {
 
     public String toString() { return "[FileBasedMailbox " + path + "]"; }
 
@@ -40,6 +40,11 @@ public class FileBasedMailbox extends Mailbox.Default {
         new File(this.path = path).mkdirs();
         uidNext(false);
     }
+    private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.writeObject(path); }
+    private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
+        new File(this.path = (String)in.readObject()).mkdirs();
+        uidNext(false);
+    }
 
     public Mailbox          slash(String name, boolean create) {
         return FileBasedMailbox.getFileBasedMailbox(path + slash + name, create); }