import java.io.*;
// FIXME this should be more forgiving
-public class Address extends JSReflection {
+public class Address extends JSReflection implements Serializable {
public final String user;
public final String host;
public final String description;
package org.ibex.mail.protocol;
import org.ibex.io.*;
+import org.ibex.crypto.*;
import org.ibex.jinetd.Listener;
import org.ibex.jinetd.Worker;
import org.ibex.mail.*;
// 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 + "]"; }
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); }