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]

Reply via email to