com.funambol.email.items.manager
Class PopEntityManager

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.PopEntityManager

public class PopEntityManager
extends EntityManagerFilter


Field Summary
 PopEntityDAO ped
           
 PopMailServerWrapper pmsw
           
 
Fields inherited from class com.funambol.email.items.manager.EntityManager
cmsw, ed, log, serverType, timeStart, timeStop
 
Constructor Summary
PopEntityManager()
           
PopEntityManager(EmailSyncSource ess)
           
 
Method Summary
 Email addEmail(java.lang.String FID, Email emailToAdd, com.funambol.server.tools.id.DBIDGenerator idSentSpace, boolean saveOnlyHeader, java.lang.String funSignature, java.lang.String from, java.lang.String firstname, java.lang.String lastname, java.lang.String source_uri, long principalId)
          In the pop3 protocol this method is used only for outbox mail this mails will be add to the Local DB and then sent.
 void clearAllItems(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, java.lang.String source_uri, long principalId)
           
 java.lang.String[] getAllFolders(EmailFilter filter)
          the pop-like connector gets only the default folders (inbox, outbox, sent)
 java.util.HashMap getAllFoldersInfo(EmailFilter filter)
          the pop-like connector gets only the default folders (inbox, outbox, sent)
 java.lang.String getEmailFromClauseInDB(javax.mail.Session session, java.lang.String parentId, Email email, java.lang.String source_uri, long principalId)
          checks if an email is already inserted in the db and returns the GUID we use the header Message-ID as search criteria
 Email getEmailFromUID(EmailFilter filter, java.lang.String parentId, java.lang.String mailId, char status, java.lang.String source_uri, long principalId)
          Get the email; called by the SyncSource
 Folder getFolderFromName(java.lang.String name, java.lang.String parentId, java.lang.String source_uri, long principalId)
           
 Folder getFolderFromUID(java.lang.String GUID, java.lang.String source_uri, long principalId)
           
 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(EmailFilter filter, 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
 Email updateEmail(java.lang.String FID, java.lang.String FMID, Email emailToUpdate, java.lang.String source_uri, long principalId)
          the method doesn't update the item but get the item that must be return
 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

pmsw

public PopMailServerWrapper pmsw

ped

public PopEntityDAO ped
Constructor Detail

PopEntityManager

public PopEntityManager()

PopEntityManager

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

addEmail

public Email addEmail(java.lang.String FID,
                      Email emailToAdd,
                      com.funambol.server.tools.id.DBIDGenerator idSentSpace,
                      boolean saveOnlyHeader,
                      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
In the pop3 protocol this method is used only for outbox mail this mails will be add to the Local DB and then sent.

Parameters:
FID - parent folder id
emailNew - Email
idSentSpace - manager for the id creation IdSpaceGenerator
saveOnlyHeader - true if all the email is saved in the local DB
funSignature - String
from - String
firstname - String
lastname - String
source_uri - String
principalId - long
Returns:
Email
Throws:
EntityException
SendingException

clearAllItems

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

Parameters:
source_uri - String
principalId - long
Throws:
EntityException

removeEmail

public void removeEmail(EmailFilter filter,
                        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 - folder id
mailId - mail id in the folder.
GUID - GUID in the ds-server.
serverItems - map with all CrcSyncItemInfo
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 - folder id
GUID - GUID in the ds-server.
username - String
Throws:
EntityException

getAllEmailsInfo

public java.util.HashMap getAllEmailsInfo(EmailFilter filter,
                                          java.lang.String username,
                                          java.lang.String source_uri,
                                          long principalId)
                                   throws EntityException
Parameters:
filter - EmailFilter
username - String
source_uri - String
principalId - long
Returns:
map with all the mail server SyncItemInfo
Throws:
EntityException

getAllFoldersInfo

public java.util.HashMap getAllFoldersInfo(EmailFilter filter)
                                    throws EntityException
the pop-like connector gets only the default folders (inbox, outbox, sent)

Returns:
The info of the syncitems
Throws:
EntityException

getEmailFromClauseInDB

public java.lang.String getEmailFromClauseInDB(javax.mail.Session session,
                                               java.lang.String parentId,
                                               Email email,
                                               java.lang.String source_uri,
                                               long principalId)
                                        throws EntityException
checks if an email is already inserted in the db and returns the GUID we use the header Message-ID as search criteria

Parameters:
session - mail server session
parentId - parent if of the email
ctmp - Email
source_uri - String
principalId - long
Returns:
GUID String
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 -
source_uri -
principalId -
Returns:
true if the message match the filter
Throws:
EntityException

getEmailFromUID

public Email getEmailFromUID(EmailFilter filter,
                             java.lang.String parentId,
                             java.lang.String mailId,
                             char status,
                             java.lang.String source_uri,
                             long principalId)
                      throws EntityException
Get the email; called by the SyncSource

Parameters:
filter - EmailFilter
parentId - id parent folder (folderid / mailid)
mailId - mail id (folderid / mailid)
status - status of the item; char
source_uri - String
principalId - long
Returns:
Email
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
the method doesn't update the item but get the item that must be return

Parameters:
FID - folder id
FMID - folder id
emailNew - Email Object
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

getFolderFromUID

public Folder getFolderFromUID(java.lang.String GUID,
                               java.lang.String source_uri,
                               long principalId)
                        throws EntityException
Parameters:
GUID - folder id
source_uri - String
principalId - long
Returns:
Folder
Throws:
EntityException

getFolderFromName

public Folder getFolderFromName(java.lang.String name,
                                java.lang.String parentId,
                                java.lang.String source_uri,
                                long principalId)
                         throws EntityException
Parameters:
name - folder name
parentId - parent folder id
source_uri - String
principalId - long
Returns:
Folder
Throws:
EntityException

getAllFolders

public java.lang.String[] getAllFolders(EmailFilter filter)
                                 throws EntityException
the pop-like connector gets only the default folders (inbox, outbox, sent)

Returns:
the array with the folder ids String[]
Throws:
EntityException


Copyright © 2005-2006 Funambol.