Class InMemoryStore

  • All Implemented Interfaces:
    ImapConstants, Store

    public class InMemoryStore
    extends java.lang.Object
    implements Store, ImapConstants
    A simple in-memory implementation of Store, used for testing and development. Note: this implementation does not persist *anything* to disk.
    Version:
    $Revision: 109034 $
    Author:
    Darrell DeBoer
    • Constructor Detail

      • InMemoryStore

        public InMemoryStore()
    • Method Detail

      • getMailbox

        public MailFolder getMailbox​(java.lang.String absoluteMailboxName)
        Description copied from interface: Store
        Retrieves a mailbox based on a fully qualified name.
        Specified by:
        getMailbox in interface Store
        Returns:
        The mailbox if present, or null if not.
      • getMailbox

        public MailFolder getMailbox​(MailFolder parent,
                                     java.lang.String name)
        Description copied from interface: Store
        Looks up a child mailbox of the supplied parent with the name given.
        Specified by:
        getMailbox in interface Store
        Parameters:
        parent - The parent mailbox
        name - The name of the child to lookup
        Returns:
        The child mailbox, or null if not found.
      • createMailbox

        public MailFolder createMailbox​(MailFolder parent,
                                        java.lang.String mailboxName,
                                        boolean selectable)
                                 throws FolderException
        Description copied from interface: Store
        Creates a mailbox under the supplied parent with the given name. If specified, the mailbox created will be made selectable (able to store messages).
        Specified by:
        createMailbox in interface Store
        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.
      • deleteMailbox

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

        public void renameMailbox​(MailFolder existingFolder,
                                  java.lang.String newName)
                           throws FolderException
        Description copied from interface: Store
        Renames the mailbox with the new name.
        Specified by:
        renameMailbox in interface Store
        Parameters:
        existingFolder - A mailbox from this store.
        newName - The new name for the mailbox.
        Throws:
        FolderException - If the mailbox couldn't be renamed
      • getChildren

        public java.util.Collection getChildren​(MailFolder parent)
        Specified by:
        getChildren in interface Store
        Parameters:
        parent - A mailbox from this store.
        Returns:
        A read-only collection of MailFolder instances, which are the children of the supplied parent.
      • setSelectable

        public MailFolder setSelectable​(MailFolder folder,
                                        boolean selectable)
        Description copied from interface: Store
        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.
        Specified by:
        setSelectable in interface Store
        Parameters:
        folder - The mailbox to modify.
        selectable - Whether this mailbox should be able to store messages.
        Returns:
        The modified mailbox
      • listMailboxes

        public java.util.Collection listMailboxes​(java.lang.String searchPattern)
                                           throws FolderException
        Description copied from interface: Store
        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
        Specified by:
        listMailboxes in interface Store
        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
        See Also:
        Store.listMailboxes(java.lang.String)