public class InMemoryStore extends Object implements Store, ImapConstants
Store
, used for testing
and development. Note: this implementation does not persist *anything* to disk.BAD, BYE, CAPABILITIES, HIERARCHY_DELIMITER, HIERARCHY_DELIMITER_CHAR, INBOX_NAME, MESSAGES, NAMESPACE_PREFIX, NAMESPACE_PREFIX_CHAR, NO, OK, SP, STORAGE, UNTAGGED, USER_NAMESPACE, VERSION
Constructor and Description |
---|
InMemoryStore() |
Modifier and Type | Method and Description |
---|---|
MailFolder |
createMailbox(MailFolder parent,
String mailboxName,
boolean selectable)
Creates a mailbox under the supplied parent with the given name.
|
void |
deleteMailbox(MailFolder folder)
Deletes the supplied mailbox from the store.
|
Collection<MailFolder> |
getChildren(MailFolder parent) |
MailFolder |
getMailbox(MailFolder parent,
String name)
Looks up a child mailbox of the supplied parent with the name given.
|
MailFolder |
getMailbox(String absoluteMailboxName)
Retrieves a mailbox based on a fully qualified name.
|
javax.mail.Quota[] |
getQuota(String root,
String qualifiedRootPrefix)
Gets the quotas.
|
boolean |
isQuotaSupported()
Checks if quota capability is activated.
|
Collection<MailFolder> |
listMailboxes(String searchPattern)
Lists all of the mailboxes in the store which have a name
matching the supplied search pattern.
|
void |
renameMailbox(MailFolder existingFolder,
String newName)
Renames the mailbox with the new name.
|
void |
setQuota(javax.mail.Quota quota,
String qualifiedRootPrefix)
Sets the quota.
|
void |
setQuotaSupported(boolean pQuotaSupported)
Toggles quota capability.
|
MailFolder |
setSelectable(MailFolder folder,
boolean selectable)
Tells the store to make the supplied mailbox selectable or not (able to store
messages).
|
public MailFolder getMailbox(String absoluteMailboxName)
Store
getMailbox
in interface Store
absoluteMailboxName
- the fully qualified name.null
if not.public MailFolder getMailbox(MailFolder parent, String name)
Store
getMailbox
in interface Store
parent
- The parent mailboxname
- The name of the child to lookupnull
if not found.public MailFolder createMailbox(MailFolder parent, String mailboxName, boolean selectable) throws FolderException
Store
createMailbox
in interface Store
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.FolderException
- If the mailbox couldn't be created.public void deleteMailbox(MailFolder folder) throws FolderException
Store
deleteMailbox
in interface Store
folder
- A mailbox from this store.FolderException
- If the mailbox couldn't be deleted.public void renameMailbox(MailFolder existingFolder, String newName) throws FolderException
Store
renameMailbox
in interface Store
existingFolder
- A mailbox from this store.newName
- The new name for the mailbox.FolderException
- If the mailbox couldn't be renamedpublic Collection<MailFolder> getChildren(MailFolder parent)
getChildren
in interface Store
parent
- A mailbox from this store.MailFolder
instances, which
are the children of the supplied parent.public MailFolder setSelectable(MailFolder folder, boolean selectable)
Store
setSelectable
in interface Store
folder
- The mailbox to modify.selectable
- Whether this mailbox should be able to store messages.public Collection<MailFolder> listMailboxes(String searchPattern) throws FolderException
Store
Valid wildcards are: '*' - matches any number of characters, including the hierarchy delimiter '%' - matches any number of characters, but not the hierarchy delimiter
listMailboxes
in interface Store
searchPattern
- The pattern to match mailboxesFolderException
- If the list operation failedpublic javax.mail.Quota[] getQuota(String root, String qualifiedRootPrefix)
Store
public void setQuota(javax.mail.Quota quota, String qualifiedRootPrefix)
Store
public boolean isQuotaSupported()
Store
isQuotaSupported
in interface Store
public void setQuotaSupported(boolean pQuotaSupported)
Store
setQuotaSupported
in interface Store
pQuotaSupported
- true, if supported.Copyright © 2006–2017 Icegreen Technologies. All rights reserved.