Interface Store

  • All Known Implementing Classes:
    InMemoryStore

    public interface Store
    Represents the complete mail store for an IMAP server, providing access to and manipulation of all Mailboxes stored on this server.
    Version:
    $Revision: 109034 $
    Author:
    Darrell DeBoer
    • Method Detail

      • getMailbox

        MailFolder getMailbox​(java.lang.String qualifiedMailboxName)
        Retrieves a mailbox based on a fully qualified name.
        Parameters:
        qualifiedMailboxName -
        Returns:
        The mailbox if present, or null if not.
      • getMailbox

        MailFolder getMailbox​(MailFolder parent,
                              java.lang.String mailboxName)
        Looks up a child mailbox of the supplied parent with the name given.
        Parameters:
        parent - The parent mailbox
        mailboxName - The name of the child to lookup
        Returns:
        The child mailbox, or null if not found.
      • getChildren

        java.util.Collection getChildren​(MailFolder parent)
        Parameters:
        parent - A mailbox from this store.
        Returns:
        A read-only collection of MailFolder instances, which are the children of the supplied parent.
      • createMailbox

        MailFolder createMailbox​(MailFolder parent,
                                 java.lang.String mailboxName,
                                 boolean selectable)
                          throws FolderException
        Creates a mailbox under the supplied parent with the given name. If specified, the mailbox created will be made selectable (able to store messages).
        Parameters:
        parent - A mailbox from this store.
        mailboxName - The name of the mailbox to create.
        selectable - If true, the mailbox will be created to store messages.
        Returns:
        The created mailbox
        Throws:
        FolderException - If the mailbox couldn't be created.
      • setSelectable

        MailFolder setSelectable​(MailFolder folder,
                                 boolean selectable)
        Tells the store to make the supplied mailbox selectable or not (able to store messages). The returned mailbox may be a new instance, and the supplied mailbox may no longer be valid.
        Parameters:
        folder - The mailbox to modify.
        selectable - Whether this mailbox should be able to store messages.
        Returns:
        The modified mailbox
      • deleteMailbox

        void deleteMailbox​(MailFolder folder)
                    throws FolderException
        Deletes the supplied mailbox from the store. To be deleted, mailboxes must be empty of messages, and not have any children.
        Parameters:
        folder - A mailbox from this store.
        Throws:
        FolderException - If the mailbox couldn't be deleted.
      • renameMailbox

        void renameMailbox​(MailFolder existingFolder,
                           java.lang.String newName)
                    throws FolderException
        Renames the mailbox with the new name.
        Parameters:
        existingFolder - A mailbox from this store.
        newName - The new name for the mailbox.
        Throws:
        FolderException - If the mailbox couldn't be renamed
      • listMailboxes

        java.util.Collection listMailboxes​(java.lang.String searchPattern)
                                    throws FolderException
        Lists all of the mailboxes in the store which have a name matching the supplied search pattern.
         Valid wildcards are:
                  '*' - matches any number of characters, including the hierarchy delimiter
                  '%' - matches any number of characters, but not the hierarchy delimiter
        Parameters:
        searchPattern - The pattern to match mailboxes
        Returns:
        A read-only collection of mailboxes which match this pattern
        Throws:
        FolderException - If the list operation failed