Author: rdonkin
Date: Thu Dec 6 07:15:39 2007
New Revision: 601755
URL: http://svn.apache.org/viewvc?rev=601755&view=rev
Log:
Consolidated interfaces.
Removed:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/FlaggedMailbox.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/SearchableMailbox.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/UidMailbox.java
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/GeneralMailbox.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/GeneralMailbox.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/GeneralMailbox.java?rev=601755&r1=601754&r2=601755&view=diff
==============================================================================
---
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/GeneralMailbox.java
(original)
+++
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/GeneralMailbox.java
Thu Dec 6 07:15:39 2007
@@ -68,8 +68,7 @@
Iterator getMessages(GeneralMessageSet set, int result) throws
MailboxManagerException;
- void remove(GeneralMessageSet set)
- throws MailboxManagerException;
+ void remove(GeneralMessageSet set) throws MailboxManagerException;
}
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java?rev=601755&r1=601754&r2=601755&view=diff
==============================================================================
---
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
(original)
+++
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
Thu Dec 6 07:15:39 2007
@@ -19,10 +19,104 @@
package org.apache.james.mailboxmanager.mailbox;
+import java.util.Iterator;
+
+import javax.mail.Flags;
+
+import org.apache.james.mailboxmanager.GeneralMessageSet;
+import org.apache.james.mailboxmanager.MailboxManagerException;
+import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.SearchParameters;
+
/**
* Provides access to a single Folder.<br />
*/
-public interface ImapMailbox extends GeneralMailbox, FlaggedMailbox,
EventTriggerMailbox, UidMailbox, SearchableMailbox {}
+public interface ImapMailbox extends GeneralMailbox {
+
+ /**
+ * @param result
+ * which fields to be returned in MessageResult
+ * @return MessageResult with the fields defined by <b>result</b>
+ * <ul>
+ * <li> IMAP: msn or (msn and uid)</li>
+ * <li> Javamail Folder: Message[]</li>
+ * </ul>
+ * @throws MailboxManagerException
+ * if anything went wrong
+ * @throws UnsupportedCriteriaException when any of the search parameters
are
+ * not supported by this mailbox
+ */
+ Iterator search(GeneralMessageSet set,SearchParameters searchTerm, int
result) throws MailboxManagerException;
+
+
+ long getUidValidity() throws MailboxManagerException;
+
+ /**
+ *
+ * @return the uid that will be assigned to the next appended message
+ * @throws MailboxManagerException
+ */
+
+ long getUidNext() throws MailboxManagerException;
+
+
+ /**
+ * @return Flags that can be stored
+ */
+
+ Flags getPermanentFlags();
+
+
+ int getRecentCount(boolean reset) throws MailboxManagerException;
+
+ int getUnseenCount() throws MailboxManagerException;
+
+ MessageResult getFirstUnseen(int result) throws MailboxManagerException;
+
+ /**
+ *
+ * @param set
+ * <ul>
+ * <li> IMAP, Javamail: not required, always expunge all</li>
+ * <li> UIDPLUS: requires the possibility of defining a uid
range</li>
+ * </ul>
+ *
+ * @param result
+ * which fields to be returned in MessageResult
+ * @return [EMAIL PROTECTED] MessageResult} <code>Iterator</code> with
+ * the fields defined by <b>result</b><br />
+ * <ul>
+ * <li> IMAP, UIDPLUS: nothing required </li>
+ * <li> Javamail Folder: requires the expunged Message[]</li>
+ * </ul>
+ * @throws MailboxManagerException
+ * if anything went wrong
+ */
+ Iterator expunge(GeneralMessageSet set, int result)
+ throws MailboxManagerException;
+
+
+ /**
+ * this is much more straight forward for IMAP instead of setting Flags of
+ * an array of lazy-loading MimeMessages. <br />
+ * required by IMAP
+ *
+ * @param flags
+ * Flags to be set
+ * @param value
+ * true = set, false = unset
+ * @param replace
+ * replace all Flags with this flags, value has to be true
+ * @param set
+ * the range of messages
+ * @param result fetch group for results
+ * @return [EMAIL PROTECTED] MessageResult} <code>Iterator</code>
containing messages
+ * whose flags have been updated, not null
+ * @throws MailboxManagerException
+ */
+ Iterator setFlags(Flags flags, boolean value, boolean replace,
+ GeneralMessageSet set, int result) throws MailboxManagerException;
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]