net.fortuna.mstor.connector.nntp
Class NntpFolder

java.lang.Object
  extended by net.fortuna.mstor.connector.AbstractFolderDelegate<MessageDelegate>
      extended by net.fortuna.mstor.connector.nntp.NntpFolder
All Implemented Interfaces:
FolderDelegate<MessageDelegate>

public class NntpFolder
extends AbstractFolderDelegate<MessageDelegate>

Author:
Ben
 $Id$

 Created on 10/08/2008
 

Constructor Summary
NntpFolder(org.apache.commons.net.nntp.NewsgroupInfo newsgroupInfo, org.apache.commons.net.nntp.NNTPClient client)
           
 
Method Summary
 void appendMessages(javax.mail.Message[] messages)
          Append the specified messages to this delegate.
 void close()
          Close the folder delegate.
 boolean create(int type)
          Initialise the delegate based on the specified folder type.
protected  MessageDelegate createMessage(int messageNumber)
           
 boolean delete()
          Delete the folder delegate.
 boolean exists()
          Indicates whether the folder represented by this delegate exists.
 void expunge(javax.mail.Message[] deleted)
          Permanently delete the specified messages from this delegate.
 FolderDelegate<MessageDelegate> getFolder(java.lang.String name)
          Returns a child folder delegate with the specified name.
 java.lang.String getFolderName()
           
 java.lang.String getFullName()
           
 long getLastModified()
          Returns the last modification timestamp of this folder.
 long getLastUid()
          Retrieves the last allocated message UID for the folder.
 MessageDelegate getMessage(int messageNumber)
          Returns message delegate corresponding to the specified message id.
 java.io.InputStream getMessageAsStream(int index)
          Returns an input stream from which to read the specified message.
 int getMessageCount()
          Returns the number of messages in the folder delegate.
 FolderDelegate<MessageDelegate> getParent()
           
 char getSeparator()
           
 int getType()
           
 long getUidValidity()
          Returns the UID validity associated with the metadata.
 FolderDelegate<MessageDelegate>[] list(java.lang.String pattern)
          Returns a list of child folder delegates matching the specified pattern.
 void open(int mode)
          Open the folder delegate.
 boolean renameTo(java.lang.String name)
          Rename the folder delegate.
protected  void setLastUid(long uid)
           
 
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
 

Constructor Detail

NntpFolder

public NntpFolder(org.apache.commons.net.nntp.NewsgroupInfo newsgroupInfo,
                  org.apache.commons.net.nntp.NNTPClient client)
Method Detail

createMessage

protected MessageDelegate createMessage(int messageNumber)
                                 throws DelegateException
Specified by:
createMessage in class AbstractFolderDelegate<MessageDelegate>
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<MessageDelegate>
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

appendMessages

public void appendMessages(javax.mail.Message[] messages)
                    throws javax.mail.MessagingException
Description copied from interface: FolderDelegate
Append the specified messages to this delegate.

Parameters:
messages - an array of messages to append to the folder
Throws:
javax.mail.MessagingException - where an error occurs appending the messages

close

public void close()
           throws javax.mail.MessagingException
Description copied from interface: FolderDelegate
Close the folder delegate.

Throws:
javax.mail.MessagingException - where an unexpected error occurs closing the folder

create

public boolean create(int type)
               throws javax.mail.MessagingException
Description copied from interface: FolderDelegate
Initialise the delegate based on the specified folder type.

Parameters:
type - a folder type
Returns:
true if the delegate is created, otherwise false
Throws:
javax.mail.MessagingException - where an unexpected error occurs creating the delegate

delete

public boolean delete()
Description copied from interface: FolderDelegate
Delete the folder delegate.

Returns:
true if the delegate is deleted, otherwise false

exists

public boolean exists()
Description copied from interface: FolderDelegate
Indicates whether the folder represented by this delegate exists.

Returns:
true if the folder exists, otherwise false

expunge

public void expunge(javax.mail.Message[] deleted)
             throws javax.mail.MessagingException
Description copied from interface: FolderDelegate
Permanently delete the specified messages from this delegate.

Parameters:
deleted - an array of deleted messages to expunge
Throws:
javax.mail.MessagingException - where an error occurs expunging the messages

getFolder

public FolderDelegate<MessageDelegate> getFolder(java.lang.String name)
Description copied from interface: FolderDelegate
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

getFullName

public java.lang.String getFullName()
Returns:
the full name of the folder.

getLastModified

public long getLastModified()
                     throws java.lang.UnsupportedOperationException
Description copied from interface: FolderDelegate
Returns the last modification timestamp of this folder.

Returns:
a timestamp as a long value
Throws:
java.lang.UnsupportedOperationException - if this method is not supported by the folder implementation

getLastUid

public long getLastUid()
                throws java.lang.UnsupportedOperationException
Description copied from interface: FolderDelegate
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 MessageDelegate getMessage(int messageNumber)
                           throws DelegateException
Description copied from interface: FolderDelegate
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

getMessageAsStream

public java.io.InputStream getMessageAsStream(int index)
                                       throws java.io.IOException
Description copied from interface: FolderDelegate
Returns an input stream from which to read the specified message.

Parameters:
index - the index of the message to return
Returns:
an input stream for the specified message
Throws:
java.io.IOException - where an error occurs

getMessageCount

public int getMessageCount()
                    throws javax.mail.MessagingException
Description copied from interface: FolderDelegate
Returns the number of messages in the folder delegate.

Returns:
the total message count
Throws:
javax.mail.MessagingException - where an unexpected error occurs retrieving the message count

getFolderName

public java.lang.String getFolderName()
Returns:
Returns the name.

getParent

public FolderDelegate<MessageDelegate> getParent()
Returns:
the parent folder delegate of this delegate.

getSeparator

public char getSeparator()
Returns:
the folder separator for this delegate type.

getType

public int getType()
Returns:
the type of folder this delegate represents.
See Also:
Folder.HOLDS_FOLDERS, Folder.HOLDS_MESSAGES

getUidValidity

public long getUidValidity()
                    throws java.lang.UnsupportedOperationException,
                           javax.mail.MessagingException
Description copied from interface: FolderDelegate
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 FolderDelegate<MessageDelegate>[] list(java.lang.String pattern)
Description copied from interface: FolderDelegate
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

open

public void open(int mode)
Description copied from interface: FolderDelegate
Open the folder delegate.

Parameters:
mode - the mode to open the folder
See Also:
Folder.READ_ONLY, Folder.READ_WRITE

renameTo

public boolean renameTo(java.lang.String name)
Description copied from interface: FolderDelegate
Rename the folder delegate.

Parameters:
name - the new folder name
Returns:
true if the folder is renamed, otherwise false


Copyright © 2004-2011 Micronode. All Rights Reserved.