com.funambol.email.items.manager
Class ImapEntityManager

java.lang.Object
  extended by com.funambol.email.items.manager.EntityManager
      extended by com.funambol.email.items.manager.EntityManagerFilter
          extended by com.funambol.email.items.manager.ImapEntityManager

public class ImapEntityManager
extends EntityManagerFilter


Field Summary
 ImapEntityDAO ied
           
 ImapMailServerWrapper imsw
           
 
Fields inherited from class com.funambol.email.items.manager.EntityManager
cmsw, ed, log, serverType, timeStart, timeStop
 
Constructor Summary
ImapEntityManager()
           
ImapEntityManager(EmailSyncSource ess)
           
 
Method Summary
 Email addEmail(java.lang.String FID, java.lang.String LUID, Email emailToAdd, EmailFilter filter, java.lang.String funSignature, java.lang.String from, java.lang.String firstname, java.lang.String lastname, java.lang.String source_uri, long principalId)
           
 Folder addFolder(java.lang.String name, java.lang.String parentId, DefaultFolder df, com.funambol.server.tools.id.DBIDGenerator idFolderSpace, java.lang.String source_uri, long principalId)
          todo understand the type of a folder (holds folders and mails)
 void clearAllItems(boolean allMailboxActivation, java.lang.String source_uri, long principalId)
          clean all folder and email except the 5 main folders
 java.util.HashMap getAllEmailsInfo(EmailFilter filter, java.lang.String username, boolean allMailboxActivation)
          todo get all emails info from all folders (not only from the 5 main folder)
 java.lang.String[] getAllFolders(EmailFilter filter, boolean allMailboxActivation, java.lang.String source_uri, long principalId)
          if allMailboxActivation is true the method gets the 5 main folders (inbox, outbox, sent, draft, trash) and recursively all the subforlders

if allMailboxActivation is false the method gets only the 5 main folders (inbox, outbox, sent, draft, trash)

 java.util.HashMap getAllFoldersInfo(EmailFilter filter, boolean allMailboxActivation, java.lang.String source_uri, long principalId)
           
 Email getEmailFromUID(EmailFilter filter, java.lang.String mailId, java.lang.String parentId, char status, java.lang.String source_uri, long principalId)
           
 java.lang.String getFolderFromName(java.lang.String name, java.lang.String parentId, java.lang.String source_uri, long principalId)
          search the twin of the folder "name".
 Folder getFolderFromUID(EmailFilter filter, java.lang.String GUID, java.lang.String source_uri, long principalId)
          get folder from GUID
 boolean isEmailInFilter(Email email, EmailFilter filter, java.lang.String GUID, java.lang.String FID, java.lang.String FMID, char status, java.lang.String source_uri, long principalId)
          checks if a mail match the filter
 void removeEmail(java.lang.String parentId, java.lang.String mailId, java.lang.String GUID, java.util.HashMap serverItems, java.lang.String username, java.lang.String source_uri, long principalId)
          deletes an email
 void removeEmailSoft(java.lang.String parentId, java.lang.String GUID, java.lang.String username)
          deletes an email
 void removeFolder(java.lang.String folderId, java.lang.String source_uri, long principalId)
          deletes a Folder
 void removeFolderSoft(java.lang.String folderId, java.lang.String source_uri, long principalId)
          deletes a Folder
 Email updateEmail(java.lang.String FID, java.lang.String FMID, Email emailToUpdate, java.lang.String source_uri, long principalId)
          updates a document defined by UID
 Folder updateFolder(java.lang.String parentId, java.lang.String folderId, Folder folderNew)
          updates a folder defined by folder id and parent id
 
Methods inherited from class com.funambol.email.items.manager.EntityManagerFilter
getH, getHB, getHBA
 
Methods inherited from class com.funambol.email.items.manager.EntityManager
checkMessageIDforDrafts, createFoundationFolder, createFoundationMail, createMessage, createMessageWithoutSignature, createMessageWithSignature, getAllEmails, getEmailFromClause, hasMatchedDate, hasMatchedSize, insertCustomFolder, insertDefaultFolder, insertInvalidItem, isEmail, isEmailInFilter, sendEmail, setItemFolder, setItemMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

imsw

public ImapMailServerWrapper imsw

ied

public ImapEntityDAO ied
Constructor Detail

ImapEntityManager

public ImapEntityManager()

ImapEntityManager

public ImapEntityManager(EmailSyncSource ess)
                  throws EmailAccessException
Parameters:
ess - EmailSyncSource
Throws:
EmailAccessException
Method Detail

removeEmail

public void removeEmail(java.lang.String parentId,
                        java.lang.String mailId,
                        java.lang.String GUID,
                        java.util.HashMap serverItems,
                        java.lang.String username,
                        java.lang.String source_uri,
                        long principalId)
                 throws EntityException
deletes an email

Parameters:
parentId - String
mailId - String
GUID - String
serverItems - map with all in the Mail Server CrcSyncItemsInfo
source_uri - String
principalId - long
Throws:
EntityException

removeEmailSoft

public void removeEmailSoft(java.lang.String parentId,
                            java.lang.String GUID,
                            java.lang.String username)
                     throws EntityException
deletes an email

Parameters:
parentId - String
GUID - String
username - String
Throws:
EntityException

removeFolder

public void removeFolder(java.lang.String folderId,
                         java.lang.String source_uri,
                         long principalId)
                  throws EntityException
deletes a Folder

Parameters:
folderId - String
source_uri - String
principalId - long
Throws:
EntityException

removeFolderSoft

public void removeFolderSoft(java.lang.String folderId,
                             java.lang.String source_uri,
                             long principalId)
                      throws EntityException
deletes a Folder

Parameters:
folderId - String
source_uri - String
principalId - long
Throws:
EntityException

updateEmail

public Email updateEmail(java.lang.String FID,
                         java.lang.String FMID,
                         Email emailToUpdate,
                         java.lang.String source_uri,
                         long principalId)
                  throws EntityException
updates a document defined by UID

Parameters:
FID - String
FMID - String
emailToUpdate - Email
source_uri - String
principalId - long
Returns:
Email
Throws:
EntityException

updateFolder

public Folder updateFolder(java.lang.String parentId,
                           java.lang.String folderId,
                           Folder folderNew)
                    throws EntityException
updates a folder defined by folder id and parent id

Parameters:
parentId - folder id String
folderId - mail id in folder String
folderNew - Folder
Returns:
Folder
Throws:
EntityException

clearAllItems

public void clearAllItems(boolean allMailboxActivation,
                          java.lang.String source_uri,
                          long principalId)
                   throws EntityException
clean all folder and email except the 5 main folders

Parameters:
allMailboxActivation - boolean
source_uri - String
principalId - long
Throws:
EntityException

addEmail

public Email addEmail(java.lang.String FID,
                      java.lang.String LUID,
                      Email emailToAdd,
                      EmailFilter filter,
                      java.lang.String funSignature,
                      java.lang.String from,
                      java.lang.String firstname,
                      java.lang.String lastname,
                      java.lang.String source_uri,
                      long principalId)
               throws EntityException,
                      SendingException
Parameters:
FID - folder id String
LUID - String
emailToAdd - Email
filter - EmailFilter
funSignature - String
from - String
firstname - String
lastname - String
source_uri - String
principalId - long
Returns:
Email
Throws:
EntityException
SendingException

addFolder

public Folder addFolder(java.lang.String name,
                        java.lang.String parentId,
                        DefaultFolder df,
                        com.funambol.server.tools.id.DBIDGenerator idFolderSpace,
                        java.lang.String source_uri,
                        long principalId)
                 throws EntityException
todo understand the type of a folder (holds folders and mails)

Parameters:
name - String
parentId - String
df - DefaultFolder
idFolderSpace - IdSpaceGenerator
source_uri - String
principalId - long
Returns:
Folder
Throws:
EntityException

getAllFolders

public java.lang.String[] getAllFolders(EmailFilter filter,
                                        boolean allMailboxActivation,
                                        java.lang.String source_uri,
                                        long principalId)
                                 throws EntityException
if allMailboxActivation is true the method gets the 5 main folders (inbox, outbox, sent, draft, trash) and recursively all the subforlders

if allMailboxActivation is false the method gets only the 5 main folders (inbox, outbox, sent, draft, trash)

Parameters:
filter - EmailFilter
allMailboxActivation - boolean
source_uri - String
principalId - long
Returns:
String[]
Throws:
EntityException

getAllEmailsInfo

public java.util.HashMap getAllEmailsInfo(EmailFilter filter,
                                          java.lang.String username,
                                          boolean allMailboxActivation)
                                   throws EntityException
todo get all emails info from all folders (not only from the 5 main folder)

Parameters:
filter - EmailFilter
username - String
allMailboxActivation - boolean
Returns:
map with all mail server SyncItemInfo
Throws:
EntityException

getAllFoldersInfo

public java.util.HashMap getAllFoldersInfo(EmailFilter filter,
                                           boolean allMailboxActivation,
                                           java.lang.String source_uri,
                                           long principalId)
                                    throws EntityException
Parameters:
filter - EmailFilter
allMailboxActivation - boolean
source_uri - String
principalId - long
Returns:
map with all mail server CrcSyncItemInfo (about folders)
Throws:
EntityException

isEmailInFilter

public boolean isEmailInFilter(Email email,
                               EmailFilter filter,
                               java.lang.String GUID,
                               java.lang.String FID,
                               java.lang.String FMID,
                               char status,
                               java.lang.String source_uri,
                               long principalId)
                        throws EntityException
checks if a mail match the filter

Parameters:
email - Email
filter - EmailFilter
GUID - String
FID - String
FMID - String
status - char
source_uri - String
principalId - long
Returns:
true if the message match the filter
Throws:
EntityException

getEmailFromUID

public Email getEmailFromUID(EmailFilter filter,
                             java.lang.String mailId,
                             java.lang.String parentId,
                             char status,
                             java.lang.String source_uri,
                             long principalId)
                      throws EntityException
Parameters:
filter - EmailFilter
mailId - mail id; String
parentId - parent id; String
status - status of the item; char
source_uri - String
principalId - princiapal ID long
Returns:
Email
Throws:
EntityException

getFolderFromUID

public Folder getFolderFromUID(EmailFilter filter,
                               java.lang.String GUID,
                               java.lang.String source_uri,
                               long principalId)
                        throws EntityException
get folder from GUID

Parameters:
filter - EmailFilter
GUID - folder id (parentid + / + folderid)
source_uri - String
principalId - long
Returns:
Folder
Throws:
EntityException

getFolderFromName

public java.lang.String getFolderFromName(java.lang.String name,
                                          java.lang.String parentId,
                                          java.lang.String source_uri,
                                          long principalId)
                                   throws EntityException
search the twin of the folder "name". if the folder already exists the method returns the GUID

Parameters:
name - String
parentId - String
source_uri - String
principalId - long
Returns:
com.funambol.email.pdi.folder.Folder
Throws:
EntityException


Copyright © 2005-2006 Funambol.