Interface MailFolder

All Known Implementing Classes:
ImapSessionFolder

public interface MailFolder
Represents a mailbox within an Store. May provide storage for MovingMessage objects, or be a non-selectable placeholder in the Mailbox hierarchy. TODO this is a "grown" interface, which needs some more design and thought re: how it will fit in with the other mail storage in James.
Version:
$Revision: 109034 $
Author:
Darrell DeBoer
  • Method Details

    • getName

      String getName()
    • getFullName

      String getFullName()
    • getAvailableFlags

      jakarta.mail.Flags getAvailableFlags()
      The flags (at a minimum, the system-defined flags) that are applicable for this mailbox.
      Returns:
      the applicable mailbox flags
      See Also:
    • getPermanentFlags

      jakarta.mail.Flags getPermanentFlags()
      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
      Returns:
      the permanent (persisting across sessions) flags
      See Also:
    • getMessageCount

      int getMessageCount()
    • getRecentCount

      int getRecentCount(boolean reset)
    • getUidValidity

      long getUidValidity()
    • getFirstUnseen

      int getFirstUnseen()
    • getUnseenCount

      int getUnseenCount()
    • isSelectable

      boolean isSelectable()
    • getUIDNext

      long getUIDNext()
    • appendMessage

      long appendMessage(jakarta.mail.internet.MimeMessage message, jakarta.mail.Flags flags, Date internalDate)
      Appends a message.
      Parameters:
      message - the message.
      flags - the flags.
      internalDate - the received date
      Returns:
      the uid.
    • deleteAllMessages

      void deleteAllMessages()
    • expunge

      void expunge() throws FolderException
      Throws:
      FolderException
    • expunge

      void expunge(IdRange[] idRanges)
      Expunges flagged for deletion messages in given range.
      Parameters:
      idRanges - the ranges. Can be null.
      See Also:
      • ExpungeCommand
    • addListener

      void addListener(FolderListener listener)
    • removeListener

      void removeListener(FolderListener listener)
    • store

      void store(MovingMessage mail) throws Exception
      Throws:
      Exception
    • store

      void store(jakarta.mail.internet.MimeMessage mail) throws Exception
      Throws:
      Exception
    • getMessage

      StoredMessage getMessage(long uid)
    • getMessageUids

      long[] getMessageUids()
    • search

      long[] search(jakarta.mail.search.SearchTerm searchTerm)
    • copyMessage

      long copyMessage(long uid, MailFolder toFolder) throws FolderException
      Throws:
      FolderException
    • moveMessage

      long moveMessage(long uid, MailFolder toFolder) throws FolderException
      Throws:
      FolderException
    • setFlags

      void setFlags(jakarta.mail.Flags flags, boolean value, long uid, FolderListener silentListener, boolean addUid) throws FolderException
      Throws:
      FolderException
    • replaceFlags

      void replaceFlags(jakarta.mail.Flags flags, long uid, FolderListener silentListener, boolean addUid) throws FolderException
      Throws:
      FolderException
    • getMsn

      int getMsn(long uid) throws FolderException
      Throws:
      FolderException
    • signalDeletion

      void signalDeletion()
    • getMessages

      List<StoredMessage> getMessages(MsgRangeFilter msgRangeFilter)
    • getMessages

      List<StoredMessage> getMessages()
    • getNonDeletedMessages

      List<StoredMessage> getNonDeletedMessages()