org.alfresco.repo.imap
Interface ImapService

All Known Implementing Classes:
ImapServiceImpl

public interface ImapService

Since:
3.2

Method Summary
 AlfrescoImapFolder createMailbox(AlfrescoImapUser user, java.lang.String mailboxName)
          Returns a reference to a newly created mailbox.
 void deleteMailbox(AlfrescoImapUser user, java.lang.String mailboxName)
          Deletes an existing MailBox.
 java.lang.String getDefaultFromAddress()
           
 javax.mail.Flags getFlags(FileInfo messageFileInfo)
          Return flags that belong to the specified imap folder.
 AlfrescoImapFolder getFolder(AlfrescoImapUser user, java.lang.String mailboxName)
          Returns a reference to an existing Mailbox.
 NodeRef getMailboxRootRef(java.lang.String mailboxName, java.lang.String userName)
          Get root reference for the specified mailbox
 java.lang.String getRepositoryTemplatePath()
           
 java.lang.String getWebApplicationContextUrl()
           
 java.util.List listMailboxes(AlfrescoImapUser user, java.lang.String mailboxPattern)
          Returns an collection of mailboxes.
 java.util.List listSubscribedMailboxes(AlfrescoImapUser user, java.lang.String mailboxPattern)
          Returns an collection of subscribed mailboxes.
 void renameMailbox(AlfrescoImapUser user, java.lang.String oldMailboxName, java.lang.String newMailboxName)
          Renames an existing mailbox.
 java.util.List searchFiles(NodeRef contextNodeRef, java.lang.String namePattern, boolean includeSubFolders)
          Search for files in specified context
 java.util.List searchFolders(NodeRef contextNodeRef, java.lang.String namePattern, boolean includeSubFolders, AlfrescoImapConst.ImapViewMode viewMode)
          Search for mailboxes in specified context
 java.util.List searchMails(NodeRef contextNodeRef, java.lang.String namePattern, AlfrescoImapConst.ImapViewMode viewMode, boolean includeSubFolders)
          Search for emails in specified folder depend on view mode.
 void setFlag(FileInfo messageFileInfo, javax.mail.Flags.Flag flag, boolean value)
          Set flag to the specified imapFolder.
 void setFlags(FileInfo messageFileInfo, javax.mail.Flags flags, boolean value)
          Set flags to the specified imapFolder.
 void subscribe(AlfrescoImapUser user, java.lang.String mailbox)
          Subscribes a user to a mailbox.
 void unsubscribe(AlfrescoImapUser user, java.lang.String mailbox)
          Unsubscribes from a given mailbox.
 

Method Detail

listMailboxes

java.util.List listMailboxes(AlfrescoImapUser user,
                             java.lang.String mailboxPattern)
Returns an collection of mailboxes. This method serves LIST command of the IMAP protocol.

Parameters:
user - User making the request
mailboxPattern - String name of a mailbox possible including a wildcard.
Returns:
Collection of mailboxes matching the pattern.

listSubscribedMailboxes

java.util.List listSubscribedMailboxes(AlfrescoImapUser user,
                                       java.lang.String mailboxPattern)
Returns an collection of subscribed mailboxes. This method serves LSUB command of the IMAP protocol.

Parameters:
user - User making the request
mailboxPattern - String name of a mailbox possible including a wildcard.
Returns:
Collection of mailboxes matching the pattern.

createMailbox

AlfrescoImapFolder createMailbox(AlfrescoImapUser user,
                                 java.lang.String mailboxName)
Returns a reference to a newly created mailbox. The request should specify a mailbox that does not already exist on this server, that could exist on this server and that the user has rights to create. This method serves CREATE command of the IMAP protocol.

Parameters:
user - User making the request.
mailboxName - String name of the target
Returns:
an Mailbox reference.

deleteMailbox

void deleteMailbox(AlfrescoImapUser user,
                   java.lang.String mailboxName)
Deletes an existing MailBox. Specified mailbox must already exist on this server, and the user must have rights to delete it. This method serves DELETE command of the IMAP protocol.

Parameters:
user - User making the request.
mailboxName - String name of the target
Throws:
com.icegreen.greenmail.store.FolderException - if mailbox has a non-selectable store with children

renameMailbox

void renameMailbox(AlfrescoImapUser user,
                   java.lang.String oldMailboxName,
                   java.lang.String newMailboxName)
Renames an existing mailbox. The specified mailbox must already exist, the requested name must not exist already but must be able to be created and the user must have rights to delete the existing mailbox and create a mailbox with the new name. Any inferior hierarchical names must also be renamed. If INBOX is renamed, the contents of INBOX are transferred to a new mailbox with the new name, but INBOX is not deleted. If INBOX has inferior mailbox these are not renamed. This method serves RENAME command of the IMAP protocol.

Parameters:
user - User making the request.
oldMailboxName - String name of the existing folder
newMailboxName - String target new name

getFolder

AlfrescoImapFolder getFolder(AlfrescoImapUser user,
                             java.lang.String mailboxName)
Returns a reference to an existing Mailbox. The requested mailbox must already exists on this server and the requesting user must have at least lookup rights.

It is also can be used by to obtain hierarchy delimiter by the LIST command:

C: 2 list "" ""

S: * LIST () "." ""

S: 2 OK LIST completed.

Parameters:
user - User making the request.
mailboxName - String name of the target.
Returns:
an Mailbox reference.

getMailboxRootRef

NodeRef getMailboxRootRef(java.lang.String mailboxName,
                          java.lang.String userName)
Get root reference for the specified mailbox

Parameters:
mailboxName - mailbox name in IMAP client.
userName -
Returns:
NodeRef of root reference for the specified mailbox

subscribe

void subscribe(AlfrescoImapUser user,
               java.lang.String mailbox)
Subscribes a user to a mailbox. The mailbox must exist locally and the user must have rights to modify it.

This method serves SUBSCRIBE command of the IMAP protocol.

Parameters:
user - User making the request
mailbox - String representation of a mailbox name.

unsubscribe

void unsubscribe(AlfrescoImapUser user,
                 java.lang.String mailbox)
Unsubscribes from a given mailbox.

This method serves UNSUBSCRIBE command of the IMAP protocol.

Parameters:
user - User making the request
mailbox - String representation of a mailbox name.

searchFiles

java.util.List searchFiles(NodeRef contextNodeRef,
                           java.lang.String namePattern,
                           boolean includeSubFolders)
Search for files in specified context

Parameters:
contextNodeRef - context folder for search
namePattern - name pattern for search
includeSubFolders - include SubFolders
Returns:
list of files

searchFolders

java.util.List searchFolders(NodeRef contextNodeRef,
                             java.lang.String namePattern,
                             boolean includeSubFolders,
                             AlfrescoImapConst.ImapViewMode viewMode)
Search for mailboxes in specified context

Parameters:
contextNodeRef - context folder for search
namePattern - name pattern for search
includeSubFolders - include SubFolders
viewMode - (ARCHIVE, MIXED or VIRTUAL)
Returns:
list of mailboxes that are visible from specified view

searchMails

java.util.List searchMails(NodeRef contextNodeRef,
                           java.lang.String namePattern,
                           AlfrescoImapConst.ImapViewMode viewMode,
                           boolean includeSubFolders)
Search for emails in specified folder depend on view mode.

Parameters:
contextNodeRef - context folder for search
namePattern - name pattern for search
viewMode - (ARCHIVE, MIXED or VIRTUAL)
includeSubFolders - includeSubFolders
Returns:
list of emails that context folder contains.

getFlags

javax.mail.Flags getFlags(FileInfo messageFileInfo)
Return flags that belong to the specified imap folder.

Parameters:
messageInfo - imap folder info.
Returns:
flags.

setFlags

void setFlags(FileInfo messageFileInfo,
              javax.mail.Flags flags,
              boolean value)
Set flags to the specified imapFolder.

Parameters:
messageInfo - FileInfo of imap Folder.
flags - flags to set.
value - value to set.

setFlag

void setFlag(FileInfo messageFileInfo,
             javax.mail.Flags.Flag flag,
             boolean value)
Set flag to the specified imapFolder.

Parameters:
messageInfo - FileInfo of imap Folder
flag - flag to set.
value - value value to set.

getDefaultFromAddress

java.lang.String getDefaultFromAddress()
Returns:
Default From addreses

getRepositoryTemplatePath

java.lang.String getRepositoryTemplatePath()
Returns:
Path to the folder containing templates, that will be used for generating body of message in VIRTUAL and MIXED views.

getWebApplicationContextUrl

java.lang.String getWebApplicationContextUrl()
Returns:
Web application context url (e.g. http://localhost:8080/alfresco)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.