org.abstracthorizon.mercury.maildir.uid
Class UIDMaildirFolderData

java.lang.Object
  extended by javax.mail.Folder
      extended by org.abstracthorizon.mercury.maildir.MaildirFolderData
          extended by org.abstracthorizon.mercury.maildir.uid.UIDMaildirFolderData

public class UIDMaildirFolderData
extends MaildirFolderData

UID implementation of maildir folder model.

Author:
Daniel Sendula

Nested Class Summary
 
Nested classes/interfaces inherited from class org.abstracthorizon.mercury.maildir.MaildirFolderData
MaildirFolderData.Data
 
Field Summary
static int MAX_RETRIES
          Number of retries for .nextuid file to be read
protected  long maxUid
          Current maxUID (last read)
protected  long uidValidity
          UID validity of this folder
 
Fields inherited from class org.abstracthorizon.mercury.maildir.MaildirFolderData
base, cachedFullName, cachedName, closedRef, cur, data, delay, delayFactor, lastAccess, NO_SUBFOLDERS_FILENAME, nw, openCount, openedFolders, permanentFlags, rootFolder, rootPermanentFlags, store, tmp, type
 
Fields inherited from class javax.mail.Folder
HOLDS_FOLDERS, HOLDS_MESSAGES, mode, READ_ONLY, READ_WRITE
 
Constructor Summary
protected UIDMaildirFolderData(MaildirStore store, File file)
          Constructor.
 
Method Summary
protected  MaildirMessage createExistingMaildirMessage(File file, int num)
          This method creates new maildir message object for existing file in folder data's directory.
protected  MaildirMessage createNewMaildirMessage(javax.mail.internet.MimeMessage message, int num)
          This method creates new maildir message for folder data (not folder).
 long getMaxUID()
          Returns max uid value
protected  UID getNextUID()
          This method obtains next UID
 long getUIDValidity()
          This method returns folder's uid validity.
 int hashCode()
          Returns folder's uid validity as integer - hash code
 
Methods inherited from class org.abstracthorizon.mercury.maildir.MaildirFolderData
addMessages, appendMessages, appendMessages, checkDirs, close, close, create, createFolderMessages, delete, deleteAll, exists, expunge, expunge, expungeMessage, getCurDir, getFolder, getFolderFile, getFolderMessages, getFullName, getLastAccessed, getMaildirStore, getMessage, getMessageCount, getName, getNewDir, getNewMessageCount, getParent, getParentFolderName, getPermanentFlags, getSeparator, getSubFolderName, getTmpDir, getType, hasNewMessages, isOpen, isRootFolder, list, listNames, obtainMessages, open, open, removeMessages, renameTo, renameTo, renumerateMessages, setFolderFile
 
Methods inherited from class javax.mail.Folder
addConnectionListener, addFolderListener, addMessageChangedListener, addMessageCountListener, copyMessages, fetch, finalize, getDeletedMessageCount, getMessages, getMessages, getMessages, getMode, getStore, getUnreadMessageCount, getURLName, isSubscribed, list, listSubscribed, listSubscribed, notifyConnectionListeners, notifyFolderListeners, notifyFolderRenamedListeners, notifyMessageAddedListeners, notifyMessageChangedListeners, notifyMessageRemovedListeners, removeConnectionListener, removeFolderListener, removeMessageChangedListener, removeMessageCountListener, search, search, setFlags, setFlags, setFlags, setSubscribed, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_RETRIES

public static final int MAX_RETRIES
Number of retries for .nextuid file to be read

See Also:
Constant Field Values

maxUid

protected long maxUid
Current maxUID (last read)


uidValidity

protected long uidValidity
UID validity of this folder

Constructor Detail

UIDMaildirFolderData

protected UIDMaildirFolderData(MaildirStore store,
                               File file)
Constructor.

Parameters:
store - store
file - file
Method Detail

getMaxUID

public long getMaxUID()
Returns max uid value

Returns:
max uid value

createNewMaildirMessage

protected MaildirMessage createNewMaildirMessage(javax.mail.internet.MimeMessage message,
                                                 int num)
                                          throws IOException,
                                                 javax.mail.MessagingException
This method creates new maildir message for folder data (not folder). It is expected for this method to create appropriate file in proper directory based on flags in supplied message (cur or new).

Overrides:
createNewMaildirMessage in class MaildirFolderData
Parameters:
message - message whose content will be copied to new message
num - message number
Returns:
new maildir message this folder will keep for its folder data
Throws:
IOException
javax.mail.MessagingException

createExistingMaildirMessage

protected MaildirMessage createExistingMaildirMessage(File file,
                                                      int num)
                                               throws IOException,
                                                      javax.mail.MessagingException
This method creates new maildir message object for existing file in folder data's directory.

Overrides:
createExistingMaildirMessage in class MaildirFolderData
Parameters:
file - file message object is going to be created
num - message number
Returns:
new maildir message this folder will keep for its folder data
Throws:
IOException
javax.mail.MessagingException

getNextUID

protected UID getNextUID()
                  throws javax.mail.MessagingException
This method obtains next UID

Returns:
next UID number
Throws:
javax.mail.MessagingException

getUIDValidity

public long getUIDValidity()
This method returns folder's uid validity. It is read from ".uidvalidity"

Returns:
uid validity

hashCode

public int hashCode()
Returns folder's uid validity as integer - hash code

Overrides:
hashCode in class Object
Returns:
folder's uid validity


Copyright © 2005-2009 Abstract Horizon. All Rights Reserved.