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 Details

    • ImapSessionFolder

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

    • 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<StoredMessage> getMessages(MsgRangeFilter msgRangeFilter)
      Specified by:
      getMessages in interface MailFolder
    • getMessages

      public List<StoredMessage> getMessages()
      Specified by:
      getMessages in interface MailFolder
    • getNonDeletedMessages

      public List<StoredMessage> getNonDeletedMessages()
      Specified by:
      getNonDeletedMessages in interface MailFolder
    • 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:
      expunged in interface FolderListener
    • added

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

      public void flagsUpdated(int msn, jakarta.mail.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
    • getAvailableFlags

      public jakarta.mail.Flags getAvailableFlags()
      Description copied from interface: MailFolder
      The flags (at a minimum, the system-defined flags) that are applicable for this mailbox.
      Specified by:
      getAvailableFlags in interface MailFolder
      Returns:
      the applicable mailbox flags
      See Also:
    • getPermanentFlags

      public jakarta.mail.Flags getPermanentFlags()
      Description copied from interface: MailFolder
      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 flags
      Specified by:
      getPermanentFlags in interface MailFolder
      Returns:
      the permanent (persisting across sessions) flags
      See Also:
    • 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
    • getUnseenCount

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

      public long appendMessage(jakarta.mail.internet.MimeMessage message, jakarta.mail.Flags flags, Date receivedDate)
      Description copied from interface: MailFolder
      Appends a message.
      Specified by:
      appendMessage in interface MailFolder
      Parameters:
      message - the message.
      flags - the flags.
      receivedDate - the received date
      Returns:
      the uid.
    • store

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

      public void store(jakarta.mail.internet.MimeMessage mail) throws Exception
      Specified by:
      store in interface MailFolder
      Throws:
      Exception
    • getMessage

      public StoredMessage 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
    • expunge

      public void expunge(IdRange[] idRanges)
      Description copied from interface: MailFolder
      Expunges flagged for deletion messages in given range.
      Specified by:
      expunge in interface MailFolder
      Parameters:
      idRanges - the ranges. Can be null.
      See Also:
      • ExpungeCommand
    • search

      public long[] search(jakarta.mail.search.SearchTerm searchTerm)
      Specified by:
      search in interface MailFolder
    • copyMessage

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

      public long moveMessage(long uid, MailFolder toFolder) throws FolderException
      Specified by:
      moveMessage 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
    • setFlags

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

      public void replaceFlags(jakarta.mail.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)
    • getUIDValidity

      public long getUIDValidity() throws jakarta.mail.MessagingException
      Specified by:
      getUIDValidity in interface jakarta.mail.UIDFolder
      Throws:
      jakarta.mail.MessagingException
    • getMessageByUID

      public jakarta.mail.Message getMessageByUID(long uid) throws jakarta.mail.MessagingException
      Specified by:
      getMessageByUID in interface jakarta.mail.UIDFolder
      Throws:
      jakarta.mail.MessagingException
    • getMessagesByUID

      public jakarta.mail.Message[] getMessagesByUID(long start, long end) throws jakarta.mail.MessagingException
      Specified by:
      getMessagesByUID in interface jakarta.mail.UIDFolder
      Throws:
      jakarta.mail.MessagingException
    • getMessagesByUID

      public jakarta.mail.Message[] getMessagesByUID(long[] uids) throws jakarta.mail.MessagingException
      Specified by:
      getMessagesByUID in interface jakarta.mail.UIDFolder
      Throws:
      jakarta.mail.MessagingException
    • getUID

      public long getUID(jakarta.mail.Message message) throws jakarta.mail.MessagingException
      Specified by:
      getUID in interface jakarta.mail.UIDFolder
      Throws:
      jakarta.mail.MessagingException
    • getUIDNext

      public long getUIDNext()
      Description copied from interface: MailFolder
      Specified by:
      getUIDNext in interface MailFolder
      Specified by:
      getUIDNext in interface jakarta.mail.UIDFolder