net.fortuna.mstor.connector.mbox
Class YamlMetaFolder

java.lang.Object
  extended by net.fortuna.mstor.connector.AbstractFolderDelegate<T>
      extended by net.fortuna.mstor.connector.mbox.AbstractMetaFolder<YamlMetaMessage>
          extended by net.fortuna.mstor.connector.mbox.YamlMetaFolder
All Implemented Interfaces:
FolderDelegate<YamlMetaMessage>

public class YamlMetaFolder
extends AbstractMetaFolder<YamlMetaMessage>

Author:
Ben

Field Summary
static java.lang.String FILE_EXTENSION
          YAML file extension.
 
Constructor Summary
YamlMetaFolder(FolderDelegate<MessageDelegate> delegate)
           
 
Method Summary
protected  YamlMetaMessage createMessage(int messageNumber)
          
protected  java.lang.String getFileExtension()
          
 YamlMetaFolder getFolder(java.lang.String name)
          Returns a child folder delegate with the specified name.
 long getLastUid()
          Retrieves the last allocated message UID for the folder.
 YamlMetaMessage getMessage(int messageNumber)
          Returns message delegate corresponding to the specified message id.
 YamlMetaFolder getParent()
          
 long getUidValidity()
          Returns the UID validity associated with the metadata.
 YamlMetaFolder[] list(java.lang.String pattern)
          Returns a list of child folder delegates matching the specified pattern.
protected  YamlMetaMessage[] removeMessages(javax.mail.Message[] deleted)
          
protected  void save()
          
protected  void setLastUid(long uid)
          
 
Methods inherited from class net.fortuna.mstor.connector.mbox.AbstractMetaFolder
appendMessages, close, create, delete, exists, expunge, getDelegate, getFile, getFolderName, getFullName, getLastModified, getMessageAsStream, getMessageCount, getSeparator, getType, newUidValidity, open, renameTo
 
Methods inherited from class net.fortuna.mstor.connector.AbstractFolderDelegate
allocateUid, getDeletedMessageCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_EXTENSION

public static final java.lang.String FILE_EXTENSION
YAML file extension.

See Also:
Constant Field Values
Constructor Detail

YamlMetaFolder

public YamlMetaFolder(FolderDelegate<MessageDelegate> delegate)
Parameters:
delegate -
Method Detail

getFileExtension

protected java.lang.String getFileExtension()

Specified by:
getFileExtension in class AbstractMetaFolder<YamlMetaMessage>
Returns:

removeMessages

protected YamlMetaMessage[] removeMessages(javax.mail.Message[] deleted)

Specified by:
removeMessages in class AbstractMetaFolder<YamlMetaMessage>

save

protected void save()
             throws DelegateException

Specified by:
save in class AbstractMetaFolder<YamlMetaMessage>
Throws:
DelegateException

createMessage

protected YamlMetaMessage createMessage(int messageNumber)
                                 throws DelegateException

Specified by:
createMessage in class AbstractFolderDelegate<YamlMetaMessage>
Parameters:
messageNumber - the message number to associate with the new message
Returns:
a new message delegate instance
Throws:
DelegateException - where an error occurs creating the delegate

setLastUid

protected void setLastUid(long uid)
                   throws java.lang.UnsupportedOperationException,
                          DelegateException

Specified by:
setLastUid in class AbstractFolderDelegate<YamlMetaMessage>
Parameters:
uid - the latest UID for the folder
Throws:
java.lang.UnsupportedOperationException - if this method is not supported in the folder delegate
DelegateException - where an error occurs updating the latest UID

getFolder

public YamlMetaFolder getFolder(java.lang.String name)
                         throws javax.mail.MessagingException
Returns a child folder delegate with the specified name.

Parameters:
name - a folder name
Returns:
the folder delegate with the specified name, or null if the folder doesn't exist
Throws:
javax.mail.MessagingException - where an unexpected error occurs retrieving the folder

getLastUid

public long getLastUid()
                throws java.lang.UnsupportedOperationException
Retrieves the last allocated message UID for the folder.

Returns:
the latest UID for the folder
Throws:
java.lang.UnsupportedOperationException - if this method is not supported by the folder implementation

getMessage

public YamlMetaMessage getMessage(int messageNumber)
                           throws DelegateException
Returns message delegate corresponding to the specified message id. If no delegate exists a new Message delegate is created.

Parameters:
messageNumber - the message number of the message to retrieve
Returns:
the message with the specified message number, or null if the messages doesn't exist
Throws:
DelegateException - where an error occurs retrieving the message

getParent

public YamlMetaFolder getParent()

Returns:
the parent folder delegate of this delegate.

getUidValidity

public long getUidValidity()
                    throws java.lang.UnsupportedOperationException,
                           javax.mail.MessagingException
Returns the UID validity associated with the metadata. If no UID validity exist a new value is initialised.

Returns:
a long representation of the UID validity
Throws:
java.lang.UnsupportedOperationException - if this method is not supported by the folder implementation
javax.mail.MessagingException - if an error occurs retrieving the validity value

list

public YamlMetaFolder[] list(java.lang.String pattern)
Returns a list of child folder delegates matching the specified pattern.

Parameters:
pattern - a pattern to match folders against
Returns:
a list of folder delegates


Copyright © 2004-2011 Micronode. All Rights Reserved.