// Licensed under the Apache Public Source License 2.0 ("the License").
// You may not use this file except in compliance with the License.
-package org.ibex.mail.target;
+package org.ibex.mail;
import org.ibex.mail.*;
import org.ibex.util.*;
import org.ibex.mail.*;
public abstract Mailbox.Iterator iterator(Query q);
public abstract void insert(Message message, int flags);
+ public abstract void post(Message message);
public abstract void move(Query q, Mailbox dest);
public abstract void copy(Query q, Mailbox dest);
public abstract int count(Query q);
public void destroy(boolean recursive) { throw new MailException("not supported"); }
public Mailbox slash(String name, boolean create) { return null; }
public String[] children() { return new String[] { }; }
+ public void post(Message message) { insert(message, Flag.RECENT); }
public void move(Query q, Mailbox dest) {
for(Mailbox.Iterator it = iterator(q);it.next();) { dest.insert(it.cur(), it.getFlags()); it.delete(); }
}
public static abstract class Iterator implements Mailbox.Iterator {
public int nntpNumber() { throw new MailException("not supported"); }
public int getFlags() { return 0; }
- public boolean getFlag(int flag) { return false; }
- public void setFlag(int flag, boolean set) { throw new RuntimeException("not implemented"); }
+ public void setFlags(int flags) { throw new MailException("not supported"); }
}
}
public abstract int nntpNumber();
public abstract int getFlags();
- public abstract boolean getFlag(int flag);
- public abstract void setFlag(int flag, boolean set);
+ public abstract void setFlags(int flags);
public static class Wrapper implements Iterator {
private Iterator it;
public int imapNumber() { return it.imapNumber(); }
public void delete() { it.delete(); }
public int getFlags() { return it.getFlags(); }
- public boolean getFlag(int flag) { return it.getFlag(flag); }
- public void setFlag(int flag, boolean set) { it.setFlag(flag, set); }
+ public void setFlags(int flags) { it.setFlags(flags); }
}
class QueryIterator extends Mailbox.Iterator.Wrapper {
public boolean phantom() { return m.phantom(); }
public Mailbox.Iterator iterator(Query q) { return m.iterator(q); }
public void insert(Message message, int flags) { m.insert(message, flags); }
+ public void post(Message message) { m.insert(message, Flag.RECENT); }
public void move(Query q, Mailbox dest) { m.move(q, dest); }
public void copy(Query q, Mailbox dest) { m.copy(q, dest); }
public int count(Query q) { return m.count(q); }