com.icegreen.greenmail.imap
Class ImapSessionFolder

java.lang.Object
  extended by com.icegreen.greenmail.imap.ImapSessionFolder
All Implemented Interfaces:
FolderListener, MailFolder

public class ImapSessionFolder
extends Object
implements MailFolder, FolderListener


Constructor Summary
ImapSessionFolder(MailFolder folder, ImapSession session, boolean readonly)
           
 
Method Summary
 void added(int msn)
           
 void addListener(FolderListener listener)
           
 long appendMessage(MimeMessage message, Flags flags, Date internalDate)
           
 void copyMessage(long uid, MailFolder toFolder)
           
 void deleteAllMessages()
           
 void deselect()
           
 void expunge()
           
 void expunged(int msn)
           
 void flagsUpdated(int msn, Flags flags, Long uid)
           
 int[] getExpunged()
           
 int getFirstUnseen()
           
 List getFlagUpdates()
           
 String getFullName()
           
 SimpleStoredMessage getMessage(long uid)
           
 int getMessageCount()
           
 List getMessages()
           
 List getMessages(MsgRangeFilter msgRangeFilter)
           
 long[] getMessageUids()
           
 int getMsn(long uid)
           
 String getName()
           
 List getNonDeletedMessages()
           
 Flags getPermanentFlags()
           
 int getRecentCount(boolean reset)
           
 long getUidNext()
           
 long getUidValidity()
           
 int getUnseenCount()
           
 boolean isReadonly()
           
 boolean isSelectable()
           
 boolean isSizeChanged()
           
 void mailboxDeleted()
           
 IdRange[] msnsToUids(IdRange[] idSet)
           
 void removeListener(FolderListener listener)
           
 void replaceFlags(Flags flags, long uid, FolderListener silentListener, boolean addUid)
           
 long[] search(SearchTerm searchTerm)
           
 void setFlags(Flags flags, boolean value, long uid, FolderListener silentListener, boolean addUid)
           
 void setSizeChanged(boolean sizeChanged)
           
 void signalDeletion()
           
 void store(MimeMessage mail)
           
 void store(MovingMessage mail)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImapSessionFolder

public ImapSessionFolder(MailFolder folder,
                         ImapSession session,
                         boolean readonly)
Method Detail

deselect

public void deselect()

getMsn

public int getMsn(long uid)
           throws FolderException
Specified by:
getMsn in interface MailFolder
Throws:
FolderException

signalDeletion

public void signalDeletion()
Specified by:
signalDeletion in interface MailFolder

getMessages

public List getMessages(MsgRangeFilter msgRangeFilter)
Specified by:
getMessages in interface MailFolder

getMessages

public List getMessages()
Specified by:
getMessages in interface MailFolder

getNonDeletedMessages

public List getNonDeletedMessages()
Specified by:
getNonDeletedMessages in interface MailFolder

isReadonly

public boolean isReadonly()

getExpunged

public int[] getExpunged()
                  throws FolderException
Throws:
FolderException

getFlagUpdates

public List getFlagUpdates()
                    throws FolderException
Throws:
FolderException

expunged

public void expunged(int msn)
Specified by:
expunged in interface FolderListener

added

public void added(int msn)
Specified by:
added in interface FolderListener

flagsUpdated

public void flagsUpdated(int msn,
                         Flags flags,
                         Long uid)
Specified by:
flagsUpdated in interface FolderListener

mailboxDeleted

public void mailboxDeleted()
Specified by:
mailboxDeleted in interface FolderListener

getName

public String getName()
Specified by:
getName in interface MailFolder

getFullName

public String getFullName()
Specified by:
getFullName in interface MailFolder

getPermanentFlags

public Flags getPermanentFlags()
Specified by:
getPermanentFlags in interface MailFolder

getMessageCount

public int getMessageCount()
Specified by:
getMessageCount in interface MailFolder

getRecentCount

public int getRecentCount(boolean reset)
Specified by:
getRecentCount in interface MailFolder

getUidValidity

public long getUidValidity()
Specified by:
getUidValidity in interface MailFolder

getFirstUnseen

public int getFirstUnseen()
Specified by:
getFirstUnseen in interface MailFolder

isSelectable

public boolean isSelectable()
Specified by:
isSelectable in interface MailFolder

getUidNext

public long getUidNext()
Specified by:
getUidNext in interface MailFolder

getUnseenCount

public int getUnseenCount()
Specified by:
getUnseenCount in interface MailFolder

appendMessage

public long appendMessage(MimeMessage message,
                          Flags flags,
                          Date internalDate)
Specified by:
appendMessage in interface MailFolder

store

public void store(MovingMessage mail)
           throws Exception
Specified by:
store in interface MailFolder
Throws:
Exception

store

public void store(MimeMessage mail)
           throws Exception
Specified by:
store in interface MailFolder
Throws:
Exception

getMessage

public SimpleStoredMessage getMessage(long uid)
Specified by:
getMessage in interface MailFolder

getMessageUids

public long[] getMessageUids()
Specified by:
getMessageUids in interface MailFolder

expunge

public void expunge()
             throws FolderException
Specified by:
expunge in interface MailFolder
Throws:
FolderException

search

public long[] search(SearchTerm searchTerm)
Specified by:
search in interface MailFolder

copyMessage

public void copyMessage(long uid,
                        MailFolder toFolder)
                 throws FolderException
Specified by:
copyMessage in interface MailFolder
Throws:
FolderException

addListener

public void addListener(FolderListener listener)
Specified by:
addListener in interface MailFolder

removeListener

public void removeListener(FolderListener listener)
Specified by:
removeListener in interface MailFolder

msnsToUids

public IdRange[] msnsToUids(IdRange[] idSet)

setFlags

public void setFlags(Flags flags,
                     boolean value,
                     long uid,
                     FolderListener silentListener,
                     boolean addUid)
              throws FolderException
Specified by:
setFlags in interface MailFolder
Throws:
FolderException

replaceFlags

public void replaceFlags(Flags flags,
                         long uid,
                         FolderListener silentListener,
                         boolean addUid)
                  throws FolderException
Specified by:
replaceFlags in interface MailFolder
Throws:
FolderException

deleteAllMessages

public void deleteAllMessages()
Specified by:
deleteAllMessages in interface MailFolder

isSizeChanged

public boolean isSizeChanged()

setSizeChanged

public void setSizeChanged(boolean sizeChanged)