gnu.mail.providers.nntp
Class NNTPRootFolder

java.lang.Object
  extended by javax.mail.Folder
      extended by gnu.mail.providers.nntp.NNTPRootFolder

public final class NNTPRootFolder
extends Folder

The "root" folder of the NNTP newsgroup list. The NNTP folder namespace is taken to be a flat namespace. This object allows us to retrieve folders corresponding to each newsgroup in that space.

Version:
2.0
Author:
Chris Burdess, Cedric Hyppolite

Field Summary
 
Fields inherited from class javax.mail.Folder
HOLDS_FOLDERS, HOLDS_MESSAGES, mode, READ_ONLY, READ_WRITE, store
 
Method Summary
 void appendMessages(Message[] messages)
          Appends the specified messages to this folder.
 void close(boolean expunge)
          Closes this folder.
 boolean create(int type)
          Create this folder in the store.
 boolean delete(boolean flag)
          Deletes this folder.
 boolean exists()
          Indicates whether this folder exists in the Store.
 Message[] expunge()
          Expunges (permanently removing) all the messages marked DELETED.
 Folder getFolder(String name)
          Returns a new Folder object associated with the specified name.
 String getFullName()
          Returns the full name of this folder.
 Message getMessage(int msgnum)
          Returns the message with the given number.
 int getMessageCount()
          Returns the number of messages in this folder.
 String getName()
          Returns the name of this folder.
 Folder getParent()
          Returns the parent folder of this folder, or null if this folder is the root of a folder hierarchy.
 Flags getPermanentFlags()
          Returns the permanent flags supported by this folder.
 char getSeparator()
          As we're dealing with a flat namespace, the value of this is irrelevant.
 int getType()
          This folder contains only folders.
 boolean hasNewMessages()
          Indicates whether this folder has new messages.
 boolean isOpen()
          Indicates whether this folder is open.
 Folder[] list(ListFolderListener listener)
          Returns the list of folders matching the specified pattern.
 Folder[] list(String pattern)
          Returns the list of folders matching the specified pattern.
 Folder[] list(String pattern, ListFolderListener listener)
          Returns the list of folders matching the specified pattern.
 Folder[] listSubscribed(String pattern)
          Returns the list of subscribed folders matching the specified pattern.
 void open(int mode)
          Opens this folder.
 boolean renameTo(Folder folder)
          Renames this folder.
 void setSubscribed(boolean flag)
          This folder is always "subscribed".
 
Methods inherited from class javax.mail.Folder
addConnectionListener, addFolderListener, addMessageChangedListener, addMessageCountListener, copyMessages, fetch, getDeletedMessageCount, getMessages, getMessages, getMessages, getMode, getNewMessageCount, getStore, getUnreadMessageCount, getURLName, isSubscribed, list, listSubscribed, notifyConnectionListeners, notifyFolderListeners, notifyFolderRenamedListeners, notifyMessageAddedListeners, notifyMessageChangedListeners, notifyMessageRemovedListeners, removeConnectionListener, removeFolderListener, removeMessageChangedListener, removeMessageCountListener, search, search, setFlags, setFlags, setFlags, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getName

public String getName()
Description copied from class: Folder
Returns the name of this folder.

This method can be invoked on a closed folder.

Specified by:
getName in class Folder

getFullName

public String getFullName()
Description copied from class: Folder
Returns the full name of this folder. If the folder resides under the root hierarchy of its store, the returned name is relative to the root. Otherwise an absolute name, starting with the hierarchy delimiter, is returned.

This method can be invoked on a closed folder.

Specified by:
getFullName in class Folder

list

public Folder[] list(String pattern)
              throws MessagingException
Returns the list of folders matching the specified pattern.

Specified by:
list in class Folder
Parameters:
pattern - the JavaMail pattern
Throws:
MessagingException

list

public Folder[] list(ListFolderListener listener)
              throws MessagingException
Returns the list of folders matching the specified pattern.

Parameters:
listener - the listener to be called as soon as a new folder is listed
Throws:
MessagingException

list

public Folder[] list(String pattern,
                     ListFolderListener listener)
              throws MessagingException
Returns the list of folders matching the specified pattern.

Parameters:
pattern - the JavaMail pattern
listener - the listener that will be called for each folder name as soon as it is known
Throws:
MessagingException

listSubscribed

public Folder[] listSubscribed(String pattern)
                        throws MessagingException
Returns the list of subscribed folders matching the specified pattern.

Overrides:
listSubscribed in class Folder
Parameters:
pattern - the JavaMail pattern
Throws:
MessagingException

getFolder

public Folder getFolder(String name)
                 throws MessagingException
Returns a new Folder object associated with the specified name.

Specified by:
getFolder in class Folder
Parameters:
name - the name of the folder
Throws:
MessagingException

getParent

public Folder getParent()
                 throws MessagingException
Description copied from class: Folder
Returns the parent folder of this folder, or null if this folder is the root of a folder hierarchy.

This method can be invoked on a closed folder.

Specified by:
getParent in class Folder
Throws:
MessagingException

exists

public boolean exists()
               throws MessagingException
Description copied from class: Folder
Indicates whether this folder exists in the Store.

This method can be invoked on a closed folder.

Specified by:
exists in class Folder
Throws:
MessagingException

getSeparator

public char getSeparator()
                  throws MessagingException
As we're dealing with a flat namespace, the value of this is irrelevant.

Specified by:
getSeparator in class Folder
Throws:
MessagingException

getType

public int getType()
This folder contains only folders.

Specified by:
getType in class Folder

open

public void open(int mode)
          throws MessagingException
Description copied from class: Folder
Opens this folder. This method can only be invoked on a closed folder that can contain messages.

Specified by:
open in class Folder
Parameters:
mode - open the Folder READ_ONLY or READ_WRITE
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException

close

public void close(boolean expunge)
           throws MessagingException
Description copied from class: Folder
Closes this folder. This method can only be invoked on an open folder.

Specified by:
close in class Folder
Parameters:
expunge - if true, expunge all deleted messages
Throws:
MessagingException

expunge

public Message[] expunge()
                  throws MessagingException
Description copied from class: Folder
Expunges (permanently removing) all the messages marked DELETED. Returns an array containing the expunged messages.

Expunge causes the renumbering of any messages with numbers higher than the message number of the lowest-numbered expunged message.

After a message has been expunged, only the isExpunged and getMessageNumber methods are still valid on the corresponding Message object; other methods may throw MessageRemovedException.

Specified by:
expunge in class Folder
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException

isOpen

public boolean isOpen()
Description copied from class: Folder
Indicates whether this folder is open.

Specified by:
isOpen in class Folder

getPermanentFlags

public Flags getPermanentFlags()
Description copied from class: Folder
Returns the permanent flags supported by this folder.

Specified by:
getPermanentFlags in class Folder

getMessageCount

public int getMessageCount()
                    throws MessagingException
Description copied from class: Folder
Returns the number of messages in this folder.

This method can be invoked on a closed folder; however, note that for some stores, getting the message count can be an expensive operation involving actually opening the folder. In such cases, a provider can choose to return -1 here when the folder is closed.

Specified by:
getMessageCount in class Folder
Throws:
MessagingException

getMessage

public Message getMessage(int msgnum)
                   throws MessagingException
Description copied from class: Folder
Returns the message with the given number. The message number is the relative position of a message in its folder, starting at 1.

Note that message numbers can change within a session if the folder is expunged, therefore the use of message numbers as references to messages is inadvisable.

Specified by:
getMessage in class Folder
Parameters:
msgnum - the message number
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException

setSubscribed

public void setSubscribed(boolean flag)
                   throws MessagingException
This folder is always "subscribed".

Overrides:
setSubscribed in class Folder
Throws:
MessagingException

hasNewMessages

public boolean hasNewMessages()
                       throws MessagingException
Description copied from class: Folder
Indicates whether this folder has new messages.

This method can be invoked on a closed folder that can contain messages.

Specified by:
hasNewMessages in class Folder
Throws:
MessagingException

appendMessages

public void appendMessages(Message[] messages)
                    throws MessagingException
Description copied from class: Folder
Appends the specified messages to this folder.

This method can be invoked on a closed folder.

Specified by:
appendMessages in class Folder
Parameters:
messages - array of messages to be appended
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException - if the append operation failed

create

public boolean create(int type)
               throws MessagingException
Description copied from class: Folder
Create this folder in the store. When this folder is created, any folders in its path that do not exist are also created.

If the creation is successful, a CREATED FolderEvent is delivered to any FolderListeners registered on this Folder and this Store.

Specified by:
create in class Folder
Parameters:
type - the desired type of the folder
Throws:
MessagingException

delete

public boolean delete(boolean flag)
               throws MessagingException
Description copied from class: Folder
Deletes this folder. This method can only be invoked on a closed folder.

Specified by:
delete in class Folder
Parameters:
flag - delete any subfolders
Returns:
true if the folder is deleted successfully, false otherwise
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException

renameTo

public boolean renameTo(Folder folder)
                 throws MessagingException
Description copied from class: Folder
Renames this folder. This method can only be invoked on a closed folder.

Specified by:
renameTo in class Folder
Parameters:
folder - a folder representing the new name for this folder
Returns:
true if the folder is renamed successfully, false otherwise
Throws:
FolderNotFoundException - if this folder does not exist
MessagingException


© Copyright 2003, 2004 The Free Software Foundation, All rights reserved