Package com.icegreen.greenmail.imap
Class ImapSessionFolder
- java.lang.Object
-
- com.icegreen.greenmail.imap.ImapSessionFolder
-
- All Implemented Interfaces:
FolderListener,MailFolder,jakarta.mail.UIDFolder
public class ImapSessionFolder extends Object implements MailFolder, FolderListener, jakarta.mail.UIDFolder
-
-
Constructor Summary
Constructors Constructor Description ImapSessionFolder(MailFolder folder, ImapSession session, boolean readonly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadded(int msn)voidaddListener(FolderListener listener)longappendMessage(jakarta.mail.internet.MimeMessage message, jakarta.mail.Flags flags, Date receivedDate)Appends a message.longcopyMessage(long uid, MailFolder toFolder)voiddeleteAllMessages()voiddeselect()voidexpunge()voidexpunge(IdRange[] idRanges)Expunges flagged for deletion messages in given range.voidexpunged(int msn)voidflagsUpdated(int msn, jakarta.mail.Flags flags, Long uid)jakarta.mail.FlagsgetAvailableFlags()The flags (at a minimum, the system-defined flags) that are applicable for this mailbox.int[]getExpunged()intgetFirstUnseen()List<com.icegreen.greenmail.imap.ImapSessionFolder.FlagUpdate>getFlagUpdates()StringgetFullName()StoredMessagegetMessage(long uid)jakarta.mail.MessagegetMessageByUID(long uid)intgetMessageCount()List<StoredMessage>getMessages()List<StoredMessage>getMessages(MsgRangeFilter msgRangeFilter)jakarta.mail.Message[]getMessagesByUID(long[] uids)jakarta.mail.Message[]getMessagesByUID(long start, long end)long[]getMessageUids()intgetMsn(long uid)StringgetName()List<StoredMessage>getNonDeletedMessages()jakarta.mail.FlagsgetPermanentFlags()Permanent flags are those which the client can add or remove from the message flags permanently; that is, concurrent and subsequent sessions will see any change in permanent flagsintgetRecentCount(boolean reset)longgetUID(jakarta.mail.Message message)longgetUIDNext()longgetUidValidity()longgetUIDValidity()intgetUnseenCount()booleanisReadonly()booleanisSelectable()booleanisSizeChanged()voidmailboxDeleted()longmoveMessage(long uid, MailFolder toFolder)voidremoveListener(FolderListener listener)voidreplaceFlags(jakarta.mail.Flags flags, long uid, FolderListener silentListener, boolean addUid)long[]search(jakarta.mail.search.SearchTerm searchTerm)voidsetFlags(jakarta.mail.Flags flags, boolean value, long uid, FolderListener silentListener, boolean addUid)voidsetSizeChanged(boolean sizeChanged)voidsignalDeletion()voidstore(MovingMessage mail)voidstore(jakarta.mail.internet.MimeMessage mail)
-
-
-
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:
getMsnin interfaceMailFolder- Throws:
FolderException
-
signalDeletion
public void signalDeletion()
- Specified by:
signalDeletionin interfaceMailFolder
-
getMessages
public List<StoredMessage> getMessages(MsgRangeFilter msgRangeFilter)
- Specified by:
getMessagesin interfaceMailFolder
-
getMessages
public List<StoredMessage> getMessages()
- Specified by:
getMessagesin interfaceMailFolder
-
getNonDeletedMessages
public List<StoredMessage> getNonDeletedMessages()
- Specified by:
getNonDeletedMessagesin interfaceMailFolder
-
isReadonly
public boolean isReadonly()
-
getExpunged
public int[] getExpunged()
-
getFlagUpdates
public List<com.icegreen.greenmail.imap.ImapSessionFolder.FlagUpdate> getFlagUpdates()
-
expunged
public void expunged(int msn)
- Specified by:
expungedin interfaceFolderListener
-
added
public void added(int msn)
- Specified by:
addedin interfaceFolderListener
-
flagsUpdated
public void flagsUpdated(int msn, jakarta.mail.Flags flags, Long uid)- Specified by:
flagsUpdatedin interfaceFolderListener
-
mailboxDeleted
public void mailboxDeleted()
- Specified by:
mailboxDeletedin interfaceFolderListener
-
getName
public String getName()
- Specified by:
getNamein interfaceMailFolder
-
getFullName
public String getFullName()
- Specified by:
getFullNamein interfaceMailFolder
-
getAvailableFlags
public jakarta.mail.Flags getAvailableFlags()
Description copied from interface:MailFolderThe flags (at a minimum, the system-defined flags) that are applicable for this mailbox.- Specified by:
getAvailableFlagsin interfaceMailFolder- Returns:
- the applicable mailbox flags
- See Also:
- rfc3501#section-7.2.6
-
getPermanentFlags
public jakarta.mail.Flags getPermanentFlags()
Description copied from interface:MailFolderPermanent flags are those which the client can add or remove from the message flags permanently; that is, concurrent and subsequent sessions will see any change in permanent flags- Specified by:
getPermanentFlagsin interfaceMailFolder- Returns:
- the permanent (persisting across sessions) flags
- See Also:
- rfc3501#page-12
-
getMessageCount
public int getMessageCount()
- Specified by:
getMessageCountin interfaceMailFolder
-
getRecentCount
public int getRecentCount(boolean reset)
- Specified by:
getRecentCountin interfaceMailFolder
-
getUidValidity
public long getUidValidity()
- Specified by:
getUidValidityin interfaceMailFolder
-
getFirstUnseen
public int getFirstUnseen()
- Specified by:
getFirstUnseenin interfaceMailFolder
-
isSelectable
public boolean isSelectable()
- Specified by:
isSelectablein interfaceMailFolder
-
getUnseenCount
public int getUnseenCount()
- Specified by:
getUnseenCountin interfaceMailFolder
-
appendMessage
public long appendMessage(jakarta.mail.internet.MimeMessage message, jakarta.mail.Flags flags, Date receivedDate)Description copied from interface:MailFolderAppends a message.- Specified by:
appendMessagein interfaceMailFolder- Parameters:
message- the message.flags- the flags.receivedDate- the received date- Returns:
- the uid.
-
store
public void store(MovingMessage mail) throws Exception
- Specified by:
storein interfaceMailFolder- Throws:
Exception
-
store
public void store(jakarta.mail.internet.MimeMessage mail) throws Exception- Specified by:
storein interfaceMailFolder- Throws:
Exception
-
getMessage
public StoredMessage getMessage(long uid)
- Specified by:
getMessagein interfaceMailFolder
-
getMessageUids
public long[] getMessageUids()
- Specified by:
getMessageUidsin interfaceMailFolder
-
expunge
public void expunge() throws FolderException- Specified by:
expungein interfaceMailFolder- Throws:
FolderException
-
expunge
public void expunge(IdRange[] idRanges)
Description copied from interface:MailFolderExpunges flagged for deletion messages in given range.- Specified by:
expungein interfaceMailFolder- Parameters:
idRanges- the ranges. Can be null.- See Also:
ExpungeCommand
-
search
public long[] search(jakarta.mail.search.SearchTerm searchTerm)
- Specified by:
searchin interfaceMailFolder
-
copyMessage
public long copyMessage(long uid, MailFolder toFolder) throws FolderException- Specified by:
copyMessagein interfaceMailFolder- Throws:
FolderException
-
moveMessage
public long moveMessage(long uid, MailFolder toFolder) throws FolderException- Specified by:
moveMessagein interfaceMailFolder- Throws:
FolderException
-
addListener
public void addListener(FolderListener listener)
- Specified by:
addListenerin interfaceMailFolder
-
removeListener
public void removeListener(FolderListener listener)
- Specified by:
removeListenerin interfaceMailFolder
-
setFlags
public void setFlags(jakarta.mail.Flags flags, boolean value, long uid, FolderListener silentListener, boolean addUid) throws FolderException- Specified by:
setFlagsin interfaceMailFolder- Throws:
FolderException
-
replaceFlags
public void replaceFlags(jakarta.mail.Flags flags, long uid, FolderListener silentListener, boolean addUid) throws FolderException- Specified by:
replaceFlagsin interfaceMailFolder- Throws:
FolderException
-
deleteAllMessages
public void deleteAllMessages()
- Specified by:
deleteAllMessagesin interfaceMailFolder
-
isSizeChanged
public boolean isSizeChanged()
-
setSizeChanged
public void setSizeChanged(boolean sizeChanged)
-
getUIDValidity
public long getUIDValidity() throws jakarta.mail.MessagingException- Specified by:
getUIDValidityin interfacejakarta.mail.UIDFolder- Throws:
jakarta.mail.MessagingException
-
getMessageByUID
public jakarta.mail.Message getMessageByUID(long uid) throws jakarta.mail.MessagingException- Specified by:
getMessageByUIDin interfacejakarta.mail.UIDFolder- Throws:
jakarta.mail.MessagingException
-
getMessagesByUID
public jakarta.mail.Message[] getMessagesByUID(long start, long end) throws jakarta.mail.MessagingException- Specified by:
getMessagesByUIDin interfacejakarta.mail.UIDFolder- Throws:
jakarta.mail.MessagingException
-
getMessagesByUID
public jakarta.mail.Message[] getMessagesByUID(long[] uids) throws jakarta.mail.MessagingException- Specified by:
getMessagesByUIDin interfacejakarta.mail.UIDFolder- Throws:
jakarta.mail.MessagingException
-
getUID
public long getUID(jakarta.mail.Message message) throws jakarta.mail.MessagingException- Specified by:
getUIDin interfacejakarta.mail.UIDFolder- Throws:
jakarta.mail.MessagingException
-
getUIDNext
public long getUIDNext()
Description copied from interface:MailFolder- Specified by:
getUIDNextin interfaceMailFolder- Specified by:
getUIDNextin interfacejakarta.mail.UIDFolder
-
-