|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /usr/share/javadoc/javamail/javax/mail/ |
Upload File : |
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Folder (GNU JavaMail API documentation)</title><script src="../../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="javax.mail.Folder class"/><meta name="keywords" content="HOLDS_MESSAGES"/><meta name="keywords" content="HOLDS_FOLDERS"/><meta name="keywords" content="READ_ONLY"/><meta name="keywords" content="READ_WRITE"/><meta name="keywords" content="store"/><meta name="keywords" content="mode"/><meta name="keywords" content="getName()"/><meta name="keywords" content="getFullName()"/><meta name="keywords" content="getURLName()"/><meta name="keywords" content="getStore()"/><meta name="keywords" content="getParent()"/><meta name="keywords" content="exists()"/><meta name="keywords" content="list()"/><meta name="keywords" content="listSubscribed()"/><meta name="keywords" content="getSeparator()"/><meta name="keywords" content="getType()"/><meta name="keywords" content="create()"/><meta name="keywords" content="isSubscribed()"/><meta name="keywords" content="setSubscribed()"/><meta name="keywords" content="hasNewMessages()"/><meta name="keywords" content="getFolder()"/><meta name="keywords" content="delete()"/><meta name="keywords" content="renameTo()"/><meta name="keywords" content="open()"/><meta name="keywords" content="close()"/><meta name="keywords" content="isOpen()"/><meta name="keywords" content="getMode()"/><meta name="keywords" content="getPermanentFlags()"/><meta name="keywords" content="getMessageCount()"/><meta name="keywords" content="getNewMessageCount()"/><meta name="keywords" content="getUnreadMessageCount()"/><meta name="keywords" content="getDeletedMessageCount()"/><meta name="keywords" content="getMessage()"/><meta name="keywords" content="getMessages()"/><meta name="keywords" content="appendMessages()"/><meta name="keywords" content="fetch()"/><meta name="keywords" content="setFlags()"/><meta name="keywords" content="copyMessages()"/><meta name="keywords" content="expunge()"/><meta name="keywords" content="search()"/><meta name="keywords" content="addConnectionListener()"/><meta name="keywords" content="removeConnectionListener()"/><meta name="keywords" content="notifyConnectionListeners()"/><meta name="keywords" content="addFolderListener()"/><meta name="keywords" content="removeFolderListener()"/><meta name="keywords" content="notifyFolderListeners()"/><meta name="keywords" content="notifyFolderRenamedListeners()"/><meta name="keywords" content="addMessageCountListener()"/><meta name="keywords" content="removeMessageCountListener()"/><meta name="keywords" content="notifyMessageAddedListeners()"/><meta name="keywords" content="notifyMessageRemovedListeners()"/><meta name="keywords" content="addMessageChangedListener()"/><meta name="keywords" content="removeMessageChangedListener()"/><meta name="keywords" content="notifyMessageChangedListeners()"/><meta name="keywords" content="toString()"/><link rel="stylesheet" type="text/css" href="../../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item active">Class</span> <span class="navbar item enabled"><a href="Folder-uses.html">Use</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../../javax/mail/Flags.Flag.html">Prev Class</a> | <a href="../../javax/mail/FolderClosedException.html">Next Class</a></td><td class="navi"><a href="../../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="Folder.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | <a href="#summary-methods">Method</a> | <a href="#summary-constructors">Constr</a></td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | <a href="#detail-methods">Method</a> | <a href="#detail-constructors">Constr</a></td></tr></table><div class="class title outer"><h3 class="class title-package">javax.mail</h3><h1 class="class title-class">Class Folder</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code><a href="file:/usr/share/javadoc/java/java/lang/Object.html">java.lang.Object</a></code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>javax.mail.Folder</code></li><li></li></ul></li></ul></div><dl class="class subclasses"><dt class="class subclasses header"><b>Known Direct Subclasses:</b></dt><dd class="class subclasses header"><a href="../../gnu/mail/providers/imap/IMAPFolder.html" title="Class in gnu.mail.providers.imap">IMAPFolder</a>, <a href="../../gnu/mail/providers/maildir/MaildirFolder.html" title="Class in gnu.mail.providers.maildir">MaildirFolder</a>, <a href="../../gnu/mail/providers/mbox/MboxFolder.html" title="Class in gnu.mail.providers.mbox">MboxFolder</a>, <a href="../../gnu/mail/providers/nntp/NNTPFolder.html" title="Class in gnu.mail.providers.nntp">NNTPFolder</a>, <a href="../../gnu/mail/providers/pop3/POP3Folder.html" title="Class in gnu.mail.providers.pop3">POP3Folder</a></dd></b></dt></dl><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public abstract class <b class="class synopsis name">Folder</b></code></div><div class="class synopsis superclass"><code>extends <a href="file:/usr/share/javadoc/java/java/lang/Object.html" title="Class in ">Object</a></code></div></div><hr/><div class="class description"> Folder is an abstract class that represents a folder for mail messages.
Subclasses implement protocol specific Folders.
<p/>
Folders can contain Messages, other Folders or both, thus providing a
tree-like hierarchy rooted at the Store's default folder.
(Note that some Folder implementations may not allow both Messages and
other Folders in the same Folder).
<p/>
The interpretation of folder names is implementation dependent.
The different levels of hierarchy in a folder's full name are separated
from each other by the hierarchy delimiter character.
<p/>
The case-insensitive full folder name (that is, the full name relative
to the default folder for a Store) INBOX is reserved to mean the
"primary folder for this user on this server". Not all Stores will
provide an INBOX folder, and not all users will have an INBOX folder
at all times. The name INBOX is reserved to refer to this folder, when
it exists, in Stores that provide it.
<p/>
A Folder object obtained from a Store need not actually exist in the
backend store. The <code>exists()</code> method tests whether the folder
exists or not. The <code>create()</code> method creates a Folder.
<p/>
A Folder is initially in the closed state.
Certain methods are valid in this state; the documentation for those
methods note this. A Folder is opened by calling its 'open' method.
All Folder methods, except <code>open()</code>, <code>delete()</code>
and <code>renameTo()</code>, are valid in this state.
<p/>
The only way to get a Folder is by invoking the <code>getFolder()</code>
method on Store or Folder, or by invoking the <code>list()</code> or
<code>listSubscribed()</code> methods on Folder. Folder objects
returned by the above methods are not cached by the Store. Thus,
invoking <code>getFolder(folder_name)</code> on the same
<code>folder_name</code> multiple times will return distinct Folder
objects. Likewise for <code>list()</code> and
<code>listSubscribed()</code>.
<p/>
The Message objects within the Folder are cached by the Folder.
Thus, invoking <code>getMessage(msgno)</code> on the same message number
multiple times will return the same Message object, until an expunge
is done on this Folder.
<p/>
Note that a Message's message number can change within a session if the
containing Folder is expunged using the expunge method. Clients that use
message numbers as references to messages should be aware of this and
should be prepared to deal with situation (probably by flushing out
existing message number references and reloading them).
Because of this complexity, it is better for clients to use Message
objects as references to messages, rather than message numbers.
Expunged Message objects still have to be pruned, but other Message
objects in that folder are not affected by the expunge.
</div><div class="taglet"><dl class="tag list"></dl><dt class="tag section header"><b>Version:</b></dt><dd>1.3</dd></dl></div><div class="taglet"><dl class="tag list"><dt class="tag section header"><b>Author:</b></dt><dd class="tag item"><a href="mailto:dog@gnu.org">Chris Burdess</a></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#HOLDS_FOLDERS">HOLDS_FOLDERS</a></code></dt><dd class="description"> This folder can contain other folders.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#HOLDS_MESSAGES">HOLDS_MESSAGES</a></code></dt><dd class="description"> This folder can contain messages.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#READ_ONLY">READ_ONLY</a></code></dt><dd class="description"> The Folder is read only.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#READ_WRITE">READ_WRITE</a></code></dt><dd class="description"> The state and contents of this folder can be modified.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#mode">mode</a></code></dt><dd class="description"> The open mode of this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected <a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#store">store</a></code></dt><dd class="description"> The parent store.</dd></dl></td></tr></table></dd></dl><a name="summary-constructors" id="summary-constructors"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Constructor Summary</h2></td></tr><tr><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#Folder(javax.mail.Store)">Folder</a>(<a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a> store)</code></dt><dd class="description"> Constructor that takes a Store object.</dd></dl></td></tr></table></dd></dl><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#addConnectionListener(javax.mail.event.ConnectionListener)">addConnectionListener</a>(<a href="../../javax/mail/event/ConnectionListener.html" title="Interface in javax.mail.event">ConnectionListener</a> l)</code></dt><dd class="description"> Add a listener for Connection events on this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#addFolderListener(javax.mail.event.FolderListener)">addFolderListener</a>(<a href="../../javax/mail/event/FolderListener.html" title="Interface in javax.mail.event">FolderListener</a> l)</code></dt><dd class="description"> Add a listener for Folder events on this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#addMessageChangedListener(javax.mail.event.MessageChangedListener)">addMessageChangedListener</a>(<a href="../../javax/mail/event/MessageChangedListener.html" title="Interface in javax.mail.event">MessageChangedListener</a> l)</code></dt><dd class="description"> Add a listener for MessageChanged events on this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#addMessageCountListener(javax.mail.event.MessageCountListener)">addMessageCountListener</a>(<a href="../../javax/mail/event/MessageCountListener.html" title="Interface in javax.mail.event">MessageCountListener</a> l)</code></dt><dd class="description"> Add a listener for MessageCount events on this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#appendMessages(javax.mail.Message[])">appendMessages</a>(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</code></dt><dd class="description"> Append given Messages to this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#close(boolean)">close</a>(boolean expunge)</code></dt><dd class="description"> Close this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#copyMessages(javax.mail.Message[],javax.mail.Folder)">copyMessages</a>(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs, <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)</code></dt><dd class="description"> Copy the specified Messages from this Folder into another Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#create(int)">create</a>(int type)</code></dt><dd class="description"> Create this folder on the Store.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#delete(boolean)">delete</a>(boolean recurse)</code></dt><dd class="description"> Delete this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#exists()">exists</a>()</code></dt><dd class="description"> Indicates if this folder physically exists on the Store.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#expunge()">expunge</a>()</code></dt><dd class="description"> Expunge (permanently remove) messages marked DELETED.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#fetch(javax.mail.Message[],javax.mail.FetchProfile)">fetch</a>(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs, <a href="../../javax/mail/FetchProfile.html" title="Class in javax.mail">FetchProfile</a> fp)</code></dt><dd class="description"> Prefetch the items specified in the FetchProfile for the given Messages.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getDeletedMessageCount()">getDeletedMessageCount</a>()</code></dt><dd class="description"> Get the number of deleted messages in this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getFolder(String)">getFolder</a>(String name)</code></dt><dd class="description"> Return the Folder object corresponding to the given name.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getFullName()">getFullName</a>()</code></dt><dd class="description"> Returns the full name of this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMessage(int)">getMessage</a>(int msgnum)</code></dt><dd class="description"> Get the Message object corresponding to the given message number.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMessageCount()">getMessageCount</a>()</code></dt><dd class="description"> Get total number of messages in this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMessages()">getMessages</a>()</code></dt><dd class="description"> Get all Message objects from this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMessages(int,int)">getMessages</a>(int start, int end)</code></dt><dd class="description"> Get the Message objects for message numbers ranging from
<code>start</code> through <code>end</code>, both start and end
inclusive.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMessages(msgnums[])">getMessages</a>(msgnums[] )</code></dt><dd class="description"> Get the Message objects for message numbers specified in the array.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getMode()">getMode</a>()</code></dt><dd class="description"> Return the open mode of this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getName()">getName</a>()</code></dt><dd class="description"> Returns the name of this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getNewMessageCount()">getNewMessageCount</a>()</code></dt><dd class="description"> Get the number of new messages in this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getParent()">getParent</a>()</code></dt><dd class="description"> Returns the parent folder of this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getPermanentFlags()">getPermanentFlags</a>()</code></dt><dd class="description"> Get the permanent flags supported by this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract char</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getSeparator()">getSeparator</a>()</code></dt><dd class="description"> Return the delimiter character that separates this Folder's pathname
from the names of immediate subfolders.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getStore()">getStore</a>()</code></dt><dd class="description"> Returns the Store that owns this Folder object.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getType()">getType</a>()</code></dt><dd class="description"> Returns the type of this Folder, that is, whether this folder can hold
messages or subfolders or both.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/URLName.html" title="Class in javax.mail">URLName</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getURLName()">getURLName</a>()</code></dt><dd class="description"> Return a URLName representing this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#getUnreadMessageCount()">getUnreadMessageCount</a>()</code></dt><dd class="description"> Get the total number of unread messages in this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#hasNewMessages()">hasNewMessages</a>()</code></dt><dd class="description"> Returns true if this Folder has new messages since the last time
this indication was reset.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#isOpen()">isOpen</a>()</code></dt><dd class="description"> Indicates whether this Folder is in the 'open' state.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#isSubscribed()">isSubscribed</a>()</code></dt><dd class="description"> Returns true if this Folder is subscribed.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#list()">list</a>()</code></dt><dd class="description"> Convenience method that returns the list of folders under this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#list(String)">list</a>(String pattern)</code></dt><dd class="description"> Returns a list of Folders belonging to this Folder's namespace
that match the specified pattern.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#listSubscribed()">listSubscribed</a>()</code></dt><dd class="description"> Convenience method that returns the list of subscribed folders
under this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#listSubscribed(String)">listSubscribed</a>(String pattern)</code></dt><dd class="description"> Returns a list of subscribed Folders belonging to
this Folder's namespace that match the specified pattern.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyConnectionListeners(int)">notifyConnectionListeners</a>(int type)</code></dt><dd class="description"> Notify all ConnectionListeners.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyFolderListeners(int)">notifyFolderListeners</a>(int type)</code></dt><dd class="description"> Notify all FolderListeners registered on this Folder and this folder's
Store.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyFolderRenamedListeners(javax.mail.Folder)">notifyFolderRenamedListeners</a>(<a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)</code></dt><dd class="description"> Notify all FolderListeners registered on this Folder and this folder's
Store about the renaming of this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyMessageAddedListeners(javax.mail.Message[])">notifyMessageAddedListeners</a>(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</code></dt><dd class="description"> Notify all MessageCountListeners about the addition of messages
into this folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyMessageChangedListeners(int,javax.mail.Message)">notifyMessageChangedListeners</a>(int type, <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a> msg)</code></dt><dd class="description"> Notify all MessageChangedListeners.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#notifyMessageRemovedListeners(boolean,javax.mail.Message[])">notifyMessageRemovedListeners</a>(boolean removed, <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</code></dt><dd class="description"> Notify all MessageCountListeners about the removal of messages from this
Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#open(int)">open</a>(int mode)</code></dt><dd class="description"> Open this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#removeConnectionListener(javax.mail.event.ConnectionListener)">removeConnectionListener</a>(<a href="../../javax/mail/event/ConnectionListener.html" title="Interface in javax.mail.event">ConnectionListener</a> l)</code></dt><dd class="description"> Remove a Connection event listener.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#removeFolderListener(javax.mail.event.FolderListener)">removeFolderListener</a>(<a href="../../javax/mail/event/FolderListener.html" title="Interface in javax.mail.event">FolderListener</a> l)</code></dt><dd class="description"> Remove a Folder event listener.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#removeMessageChangedListener(javax.mail.event.MessageChangedListener)">removeMessageChangedListener</a>(<a href="../../javax/mail/event/MessageChangedListener.html" title="Interface in javax.mail.event">MessageChangedListener</a> l)</code></dt><dd class="description"> Remove a MessageChanged listener.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#removeMessageCountListener(javax.mail.event.MessageCountListener)">removeMessageCountListener</a>(<a href="../../javax/mail/event/MessageCountListener.html" title="Interface in javax.mail.event">MessageCountListener</a> l)</code></dt><dd class="description"> Remove a MessageCount listener.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">abstract boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#renameTo(javax.mail.Folder)">renameTo</a>(<a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)</code></dt><dd class="description"> Rename this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#search(javax.mail.search.SearchTerm)">search</a>(<a href="../../javax/mail/search/SearchTerm.html" title="Class in javax.mail.search">SearchTerm</a> term)</code></dt><dd class="description"> Search this Folder for messages matching the specified search criterion.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[]</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#search(javax.mail.search.SearchTerm,javax.mail.Message[])">search</a>(<a href="../../javax/mail/search/SearchTerm.html" title="Class in javax.mail.search">SearchTerm</a> term, <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</code></dt><dd class="description"> Search the given array of messages for those that match the specified
search criterion.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#setFlags(int,int,javax.mail.Flags,boolean)">setFlags</a>(int start, int end, <a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag, boolean value)</code></dt><dd class="description"> Set the specified flags on the messages numbered from <code>start</code>
through <code>end</code>, both start and end inclusive.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#setFlags(javax.mail.Message[],javax.mail.Flags,boolean)">setFlags</a>(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs, <a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag, boolean value)</code></dt><dd class="description"> Set the specified flags on the messages specified in the array.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#setFlags(msgnums[],javax.mail.Flags,boolean)">setFlags</a>(msgnums[] , <a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag, boolean value)</code></dt><dd class="description"> Set the specified flags on the messages whose message numbers
are in the array.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#setSubscribed(boolean)">setSubscribed</a>(boolean flag)</code></dt><dd class="description"> Subscribe or unsubscribe this Folder.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis"> String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#toString()">toString</a>()</code></dt><dd class="description"> override the default toString(),
it will return the String from Folder.getFullName() or if that is null,
it will use the default toString() behavior.</dd></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="HOLDS_FOLDERS" id="HOLDS_FOLDERS"/><div class="member detail outer"><h3 class="member detail name">HOLDS_FOLDERS</h3><pre class="member detail synopsis">public static final int HOLDS_FOLDERS</pre><blockquote class="member detail name"><div class="member detail description"> This folder can contain other folders.
</div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">2</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="HOLDS_MESSAGES" id="HOLDS_MESSAGES"/><div class="member detail outer"><h3 class="member detail name">HOLDS_MESSAGES</h3><pre class="member detail synopsis">public static final int HOLDS_MESSAGES</pre><blockquote class="member detail name"><div class="member detail description"> This folder can contain messages.
</div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">1</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="READ_ONLY" id="READ_ONLY"/><div class="member detail outer"><h3 class="member detail name">READ_ONLY</h3><pre class="member detail synopsis">public static final int READ_ONLY</pre><blockquote class="member detail name"><div class="member detail description"> The Folder is read only.
The state and contents of this folder cannot be modified.
</div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">1</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="READ_WRITE" id="READ_WRITE"/><div class="member detail outer"><h3 class="member detail name">READ_WRITE</h3><pre class="member detail synopsis">public static final int READ_WRITE</pre><blockquote class="member detail name"><div class="member detail description"> The state and contents of this folder can be modified.
</div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Field Value:</b></dt><dd class="member detail thrown item">2</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="mode" id="mode"/><div class="member detail outer"><h3 class="member detail name">mode</h3><pre class="member detail synopsis">protected int mode</pre><blockquote class="member detail name"><div class="member detail description"> The open mode of this folder.
The open mode is Folder.READ_ONLY, Folder.READ_WRITE, or -1 if not known.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="store" id="store"/><div class="member detail outer"><h3 class="member detail name">store</h3><pre class="member detail synopsis">protected <a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a> store</pre><blockquote class="member detail name"><div class="member detail description"> The parent store.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-constructors" id="detail-constructors"/><h2 class="section header">Constructor Details</h2><div class="section"><a name="Folder(javax.mail.Store)" id="Folder(javax.mail.Store)"/><div class="member detail outer"><h3 class="member detail name">Folder</h3><pre class="member detail synopsis">protected Folder(<a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a> store)</pre><blockquote class="member detail name"><div class="member detail description"> Constructor that takes a Store object.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">store</code><span class="separator"> - </span><span class="description">the Store that holds this folder</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="addConnectionListener(javax.mail.event.ConnectionListener)" id="addConnectionListener(javax.mail.event.ConnectionListener)"/><div class="member detail outer"><h3 class="member detail name">addConnectionListener</h3><pre class="member detail synopsis">public void addConnectionListener(<a href="../../javax/mail/event/ConnectionListener.html" title="Interface in javax.mail.event">ConnectionListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Add a listener for Connection events on this Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="addFolderListener(javax.mail.event.FolderListener)" id="addFolderListener(javax.mail.event.FolderListener)"/><div class="member detail outer"><h3 class="member detail name">addFolderListener</h3><pre class="member detail synopsis">public void addFolderListener(<a href="../../javax/mail/event/FolderListener.html" title="Interface in javax.mail.event">FolderListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Add a listener for Folder events on this Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="addMessageChangedListener(javax.mail.event.MessageChangedListener)" id="addMessageChangedListener(javax.mail.event.MessageChangedListener)"/><div class="member detail outer"><h3 class="member detail name">addMessageChangedListener</h3><pre class="member detail synopsis">public void addMessageChangedListener(<a href="../../javax/mail/event/MessageChangedListener.html" title="Interface in javax.mail.event">MessageChangedListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Add a listener for MessageChanged events on this Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="addMessageCountListener(javax.mail.event.MessageCountListener)" id="addMessageCountListener(javax.mail.event.MessageCountListener)"/><div class="member detail outer"><h3 class="member detail name">addMessageCountListener</h3><pre class="member detail synopsis">public void addMessageCountListener(<a href="../../javax/mail/event/MessageCountListener.html" title="Interface in javax.mail.event">MessageCountListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Add a listener for MessageCount events on this Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="appendMessages(javax.mail.Message[])" id="appendMessages(javax.mail.Message[])"/><div class="member detail outer"><h3 class="member detail name">appendMessages</h3><pre class="member detail synopsis">public abstract void appendMessages(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Append given Messages to this folder.
This method can be invoked on a closed Folder.
An appropriate MessageCountEvent is delivered to any
MessageCountListener registered on this folder when the messages arrive
in the folder.
<p/>
Folder implementations must not abort this operation if a Message in the
given message array turns out to be an expunged Message.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">msgs</code><span class="separator"> - </span><span class="description">array of Messages to be appended</span></dd></dl></div><div class="member detail thrown list"><dl><dt class="member detail thrown header"><b>Throws:</b></dt><dd class="member detail thrown item"><code class="name"><a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></code><span class="separator"> - </span><span class="description">if the append failed.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="close(boolean)" id="close(boolean)"/><div class="member detail outer"><h3 class="member detail name">close</h3><pre class="member detail synopsis">public abstract void close(boolean expunge)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Close this Folder.
This method is valid only on open Folders.
A CLOSED ConnectionEvent is delivered to any ConnectionListeners
registered on this Folder. Note that the folder is closed even if
this method terminates abnormally by throwing a MessagingException.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">expunge</code><span class="separator"> - </span><span class="description">expunges all deleted messages if this flag is true</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="copyMessages(javax.mail.Message[],javax.mail.Folder)" id="copyMessages(javax.mail.Message[],javax.mail.Folder)"/><div class="member detail outer"><h3 class="member detail name">copyMessages</h3><pre class="member detail synopsis">public void copyMessages(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs,
<a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Copy the specified Messages from this Folder into another Folder.
This operation appends these Messages to the destination Folder.
The destination Folder does not have to be opened.
An appropriate MessageCountEvent is delivered to any
MessageCountListener registered on the destination folder when the
messages arrive in the folder.
<p/>
Note that the specified Message objects must belong to this folder.
Folder implementations might be able to optimize this method by doing
server-side copies.
<p/>
This implementation just invokes <code>appendMessages()</code> on the
destination folder to append the given Messages.
Specific folder implementations that support server-side copies should
do so, if the destination folder's Store is the same as this folder's
Store. Also, an implementation must not abort the operation if a
Message in the array turns out to be an expunged Message.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">folder</code><span class="separator"> - </span><span class="description">the folder to copy the messages to</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="create(int)" id="create(int)"/><div class="member detail outer"><h3 class="member detail name">create</h3><pre class="member detail synopsis">public abstract boolean create(int type)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Create this folder on the Store.
When this folder is created, any folders in its path
that do not exist are also created.
<p/>
If the creation is successful, a CREATED FolderEvent is delivered
to any FolderListeners registered on this Folder and this Store.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">type</code><span class="separator"> - </span><span class="description">The type of this folder.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="delete(boolean)" id="delete(boolean)"/><div class="member detail outer"><h3 class="member detail name">delete</h3><pre class="member detail synopsis">public abstract boolean delete(boolean recurse)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Delete this Folder.
This method will succeed only on a closed Folder.
<p/>
The <code>recurse</code> flag controls whether the deletion affects
subfolders or not. If true, all subfolders are deleted, then this
folder itself is deleted. If false, the behaviour is dependent on
the folder type and is elaborated below:
<ul><li> The folder can contain only messages:
(<code>type==HOLDS_MESSAGES</code>).
All messages within the folder are removed. The folder itself is then
removed. An appropriate FolderEvent is generated by the Store and this
folder.
</li><li> The folder can contain only subfolders:
(<code>type==HOLDS_FOLDERS</code>).
If this folder is empty (does not contain any subfolders at all), it is
removed. An appropriate FolderEvent is generated by the Store and this
folder.
If this folder contains any subfolders, the delete fails and returns
false.
</li><li> The folder can contain subfolders as well as messages:
If the folder is empty (no messages or subfolders), it is removed. If
the folder contains no subfolders, but only messages, then all messages
are removed. The folder itself is then removed. In both the above
cases, an appropriate FolderEvent is generated by the Store and this
folder.
<p/>
If the folder contains subfolders there are 3 possible choices an
implementation is free to do:
<ol></ol></li><li> The operation fails, irrespective of whether this folder contains
messages or not. Some implementations might elect to go with this
simple approach. The <code>delete()</code> method returns false.
</li><li> Any messages within the folder are removed. Subfolders are not
removed. The folder itself is not removed or affected in any
manner. The <code>delete()</code> method returns true.
And the <code>exists()</code> method on this folder will return true
indicating that this folder still exists.
An appropriate FolderEvent is generated by the Store and this folder.
</li><li> Any messages within the folder are removed. Subfolders are not
removed. The folder itself changes its type from <code>HOLDS_FOLDERS |
HOLDS_MESSAGES</code> to <code>HOLDS_FOLDERS</code>. Thus new messages
cannot be added to this folder, but new subfolders can be created
underneath. The <code>delete()</code> method returns true indicating
success. The <code>exists()</code> method on this folder will return
true indicating that this folder still exists.
An appropriate FolderEvent is generated by the Store and this folder.
</li></ul></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">true if the Folder is deleted successfully</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="exists()" id="exists()"/><div class="member detail outer"><h3 class="member detail name">exists</h3><pre class="member detail synopsis">public abstract boolean exists()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Indicates if this folder physically exists on the Store.
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="expunge()" id="expunge()"/><div class="member detail outer"><h3 class="member detail name">expunge</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] expunge()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Expunge (permanently remove) messages marked DELETED.
Returns an array containing the expunged message objects.
The getMessageNumber method on each of these message objects returns
that Message's original (that is, prior to the expunge) sequence number.
A MessageCountEvent containing the expunged messages is delivered
to any MessageCountListeners registered on the folder.
<p/>
Expunge causes the renumbering of Message objects subsequent to the
expunged messages. Clients that use message numbers as references to
messages should be aware of this and should be prepared to deal with the
situation (probably by flushing out existing message number caches and
reloading them). Because of this complexity, it is better for clients to
use Message objects as references to messages, rather than message
numbers. Any expunged Messages objects still have to be pruned, but other
Messages in that folder are not affected by the expunge.
<p/>
After a message is expunged, only the <code>isExpunged</code> and
<code>getMessageNumber</code> methods are still valid on the
corresponding Message object; other methods may throw
MessageRemovedException
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="fetch(javax.mail.Message[],javax.mail.FetchProfile)" id="fetch(javax.mail.Message[],javax.mail.FetchProfile)"/><div class="member detail outer"><h3 class="member detail name">fetch</h3><pre class="member detail synopsis">public void fetch(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs,
<a href="../../javax/mail/FetchProfile.html" title="Class in javax.mail">FetchProfile</a> fp)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Prefetch the items specified in the FetchProfile for the given Messages.
<p/>
Clients use this method to indicate that the specified items are needed
en-masse for the given message range. Implementations are expected to
retrieve these items for the given message range in a efficient manner.
Note that this method is just a hint to the implementation to prefetch
the desired items.
<p/>
An example is a client filling its header-view window with the Subject,
From and X-mailer headers for all messages in the folder.
<pre>
Message[] msgs = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add("X-mailer");
folder.fetch(msgs, fp);
for (int i = 0; i <32folder.getMessageCount(); i++) {
display(msg[i].getFrom());
display(msg[i].getSubject());
display(msg[i].getHeader("X-mailer"));
}
</pre>
The implementation provided here just returns without doing anything
useful. Providers wanting to provide a real implementation for this
method should override the method.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">msgs</code><span class="separator"> - </span><span class="description">fetch items for these messages</span></dd><dd class="item"><code class="name">fp</code><span class="separator"> - </span><span class="description">the FetchProfile</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getDeletedMessageCount()" id="getDeletedMessageCount()"/><div class="member detail outer"><h3 class="member detail name">getDeletedMessageCount</h3><pre class="member detail synopsis">public int getDeletedMessageCount()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the number of deleted messages in this folder.
<p/>
This method can be invoked on a closed folder. However, note that for
some folder implementations, getting the deleted message count can be
an expensive operation involving actually opening the folder. In such
cases, a provider can choose not to support this functionality in the
closed state, in which case this method must return -1.
<p/>
Clients invoking this method on a closed folder must be aware that this
is a potentially expensive operation. Clients must also be prepared to
handle a return value of -1 in this case.
<p/>
This implementation returns -1 if this folder is closed. Otherwise,
this implementation gets each Message in the folder using
<code>getMessage(int)</code> and checks whether its
<code>DELETED</code> flag is set. The total number of messages that
have this flag is returned.
</div><div class="taglet"><dl class="tag list"><dt class="tag section header"><b>Since:</b></dt><dd>JavaMail 1.3</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getFolder(String)" id="getFolder(String)"/><div class="member detail outer"><h3 class="member detail name">getFolder</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> getFolder(String name)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Return the Folder object corresponding to the given name.
Note that this folder does not physically have to exist in the Store.
The <code>exists()</code> method on a Folder indicates whether it
really exists on the Store.
<p/>
In some Stores, <code>name</code> can be an absolute path if it starts
with the hierarchy delimiter. Otherwise, it is interpreted relative to
this Folder.
<p/>
Folder objects are not cached by the Store, so invoking this method on
the same name multiple times will return that many distinct Folder
objects.
<p/>
This method can be invoked on a closed Folder.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">name</code><span class="separator"> - </span><span class="description">name of the Folder</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getFullName()" id="getFullName()"/><div class="member detail outer"><h3 class="member detail name">getFullName</h3><pre class="member detail synopsis">public abstract String getFullName()</pre><blockquote class="member detail name"><div class="member detail description"> Returns the full name of this Folder.
If the folder resides under the root hierarchy of this Store,
the returned name is relative to the root.
Otherwise an absolute name, starting with the hierarchy delimiter,
is returned.
<p/>
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMessage(int)" id="getMessage(int)"/><div class="member detail outer"><h3 class="member detail name">getMessage</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a> getMessage(int msgnum)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the Message object corresponding to the given message number.
A Message object's message number is the relative position of
this Message in itsFolder. Messages are numbered starting at 1
through the total number of message in the folder.
Note that the message number for a particular Message can change
during a session if other messages in the Folder are deleted and
the Folder is expunged.
<p/>
Message objects are light-weight references to the actual message that
get filled up on demand. Hence Folder implementations are expected to
provide light-weight Message objects.
<p/>
Unlike Folder objects, repeated calls to getMessage with the same
message number will return the same Message object, as long as no
messages in this folder have been expunged.
<p/>
Since message numbers can change within a session if the folder is
expunged, clients are advised not to use message numbers as references
to messages. Use Message objects instead.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">msgnum</code><span class="separator"> - </span><span class="description">the message number</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMessageCount()" id="getMessageCount()"/><div class="member detail outer"><h3 class="member detail name">getMessageCount</h3><pre class="member detail synopsis">public abstract int getMessageCount()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get total number of messages in this Folder.
<p/>
This method can be invoked on a closed folder.
However, note that for some folder implementations, getting the
total message count can be an expensive operation involving actually
opening the folder. In such cases, a provider can choose not to
support this functionality in the closed state, in which case this
method must return -1.
<p/>
Clients invoking this method on a closed folder must be aware that
this is a potentially expensive operation.
Clients must also be prepared to handle a return value of -1 in
this case.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMessages()" id="getMessages()"/><div class="member detail outer"><h3 class="member detail name">getMessages</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] getMessages()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get all Message objects from this Folder.
Returns an empty array if the folder is empty.
Clients can use Message objects (instead of sequence numbers)
as references to the messages within a folder; this method supplies
the Message objects to the client.
Folder implementations are expected to provide light-weight Message
objects, which get filled on demand.
<p/>
This implementation invokes <code>getMessageCount()</code> to get
the current message count and then uses <code>getMessage()</code>
to get Message objects from 1 till the message count.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMessages(int,int)" id="getMessages(int,int)"/><div class="member detail outer"><h3 class="member detail name">getMessages</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] getMessages(int start,
int end)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the Message objects for message numbers ranging from
<code>start</code> through <code>end</code>, both start and end
inclusive. Note that message numbers start at 1, not 0.
<p/>
Message objects are light-weight references to the actual message
that get filled up on demand. Hence Folder implementations are expected
to provide light-weight Message objects.
<p/>
This implementation uses <code>getMessage(index)</code> to obtain the
required Message objects. Note that the returned array must contain
<code>(end-start+1)</code> Message objects.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">start</code><span class="separator"> - </span><span class="description">the number of the first message</span></dd><dd class="item"><code class="name">end</code><span class="separator"> - </span><span class="description">the number of the last message</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMessages(msgnums[])" id="getMessages(msgnums[])"/><div class="member detail outer"><h3 class="member detail name">getMessages</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] getMessages(msgnums[] )
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the Message objects for message numbers specified in the array.
<p/>
Message objects are light-weight references to the actual message
that get filled up on demand. Hence Folder implementations are expected
to provide light-weight Message objects.
<p/>
This implementation uses <code>getMessage(index)</code> to obtain the
required Message objects. Note that the returned array must contain
<code>msgnums.length</code> Message objects.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getMode()" id="getMode()"/><div class="member detail outer"><h3 class="member detail name">getMode</h3><pre class="member detail synopsis">public int getMode()</pre><blockquote class="member detail name"><div class="member detail description"> Return the open mode of this folder.
Returns <code>Folder.READ_ONLY</code>, <code>Folder.READ_WRITE</code>,
or <code>-1</code> if the open mode is not known (usually only
because an older Folder provider has not been updated to use this new
method).
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getName()" id="getName()"/><div class="member detail outer"><h3 class="member detail name">getName</h3><pre class="member detail synopsis">public abstract String getName()</pre><blockquote class="member detail name"><div class="member detail description"> Returns the name of this Folder.
<p/>
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getNewMessageCount()" id="getNewMessageCount()"/><div class="member detail outer"><h3 class="member detail name">getNewMessageCount</h3><pre class="member detail synopsis">public int getNewMessageCount()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the number of new messages in this Folder.
<p/>
This method can be invoked on a closed folder.
However, note that for some folder implementations, getting the
new message count can be an expensive operation involving actually
opening the folder. In such cases, a provider can choose not to
support this functionality in the closed state, in which case this
method must return -1.
<p/>
Clients invoking this method on a closed folder must be aware that
this is a potentially expensive operation.
Clients must also be prepared to handle a return value of -1 in
this case.
<p/>
This implementation returns -1 if this folder is closed.
Else this implementation gets each Message in the folder using
<code>getMessage(int)</code> and checks whether its RECENT flag is
set. The total number of messages that have this flag set is returned.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getParent()" id="getParent()"/><div class="member detail outer"><h3 class="member detail name">getParent</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> getParent()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Returns the parent folder of this folder.
This method can be invoked on a closed Folder.
If this folder is the top of a folder hierarchy, this method returns
null.
<p/>
Note that since Folder objects are not cached, invoking this method
returns a new distinct Folder object.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getPermanentFlags()" id="getPermanentFlags()"/><div class="member detail outer"><h3 class="member detail name">getPermanentFlags</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> getPermanentFlags()</pre><blockquote class="member detail name"><div class="member detail description"> Get the permanent flags supported by this Folder.
Returns a Flags object that contains all the flags supported.
<p/>
The special flag <code>Flags.USER</code> indicates that this Folder
supports arbitrary user-defined flags.
<p/>
The supported permanent flags for a folder may not be available
until the folder is opened.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getSeparator()" id="getSeparator()"/><div class="member detail outer"><h3 class="member detail name">getSeparator</h3><pre class="member detail synopsis">public abstract char getSeparator()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Return the delimiter character that separates this Folder's pathname
from the names of immediate subfolders.
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getStore()" id="getStore()"/><div class="member detail outer"><h3 class="member detail name">getStore</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Store.html" title="Class in javax.mail">Store</a> getStore()</pre><blockquote class="member detail name"><div class="member detail description"> Returns the Store that owns this Folder object.
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getType()" id="getType()"/><div class="member detail outer"><h3 class="member detail name">getType</h3><pre class="member detail synopsis">public abstract int getType()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Returns the type of this Folder, that is, whether this folder can hold
messages or subfolders or both.
The returned value is an integer bitfield with the appropriate bits set.
This method can be invoked on a closed folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getURLName()" id="getURLName()"/><div class="member detail outer"><h3 class="member detail name">getURLName</h3><pre class="member detail synopsis">public <a href="../../javax/mail/URLName.html" title="Class in javax.mail">URLName</a> getURLName()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Return a URLName representing this folder.
The returned URLName does not include the password
used to access the store.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="getUnreadMessageCount()" id="getUnreadMessageCount()"/><div class="member detail outer"><h3 class="member detail name">getUnreadMessageCount</h3><pre class="member detail synopsis">public int getUnreadMessageCount()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Get the total number of unread messages in this Folder.
<p/>
This method can be invoked on a closed folder.
However, note that for some folder implementations, getting the
unread message count can be an expensive operation involving actually
opening the folder. In such cases, a provider can choose not to
support this functionality in the closed state, in which case this
method must return -1.
<p/>
Clients invoking this method on a closed folder must be aware that
this is a potentially expensive operation.
Clients must also be prepared to handle a return value of -1 in
this case.
<p/>
This implementation returns -1 if this folder is closed.
Else this implementation gets each Message in the folder using
<code>getMessage(int)</code> and checks whether its SEEN flag is
set. The total number of messages that have this flag set is returned.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="hasNewMessages()" id="hasNewMessages()"/><div class="member detail outer"><h3 class="member detail name">hasNewMessages</h3><pre class="member detail synopsis">public abstract boolean hasNewMessages()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Returns true if this Folder has new messages since the last time
this indication was reset.
When this indication is set or reset depends on the Folder
implementation (and in the case of IMAP, depends on the server).
This method can be used to implement a lightweight "check for new mail"
operation on a Folder without opening it. (For example, a thread that
monitors a mailbox and flags when it has new mail.) This method should
indicate whether any messages in the Folder have the RECENT flag set.
<p/>
Note that this is not an incremental check for new mail, i.e., it
cannot be used to determine whether any new messages have arrived since
the last time this method was invoked. To implement incremental checks,
the Folder needs to be opened.
<p/>
This method can be invoked on a closed Folder that can contain Messages.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="isOpen()" id="isOpen()"/><div class="member detail outer"><h3 class="member detail name">isOpen</h3><pre class="member detail synopsis">public abstract boolean isOpen()</pre><blockquote class="member detail name"><div class="member detail description"> Indicates whether this Folder is in the 'open' state.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="isSubscribed()" id="isSubscribed()"/><div class="member detail outer"><h3 class="member detail name">isSubscribed</h3><pre class="member detail synopsis">public boolean isSubscribed()</pre><blockquote class="member detail name"><div class="member detail description"> Returns true if this Folder is subscribed.
<p/>
This method can be invoked on a closed Folder.
<p/>
The default implementation provided here just returns true.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="list()" id="list()"/><div class="member detail outer"><h3 class="member detail name">list</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[] list()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Convenience method that returns the list of folders under this Folder.
This method just calls the <code>list(String pattern)</code> method
with "%" as the match pattern.
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="list(String)" id="list(String)"/><div class="member detail outer"><h3 class="member detail name">list</h3><pre class="member detail synopsis">public abstract <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[] list(String pattern)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Returns a list of Folders belonging to this Folder's namespace
that match the specified pattern.
Patterns may contain the wildcard characters "%",
which matches any character except hierarchy delimiters, and "*",
which matches any character.
<p/>
As an example, given the folder hierarchy:
<pre>
Personal/
Finance/
Stocks
Bonus
StockOptions
Jokes
</pre>
list("*") on "Personal" will return the whole hierarchy.<br/>
list("%") on "Personal" will return "Finance" and "Jokes".<br/>
list("Jokes") on "Personal" will return "Jokes".<br/>
list("Stock*") on "Finance" will return "Stocks" and "StockOptions".
<p/>
Folder objects are not cached by the Store, so invoking this method
on the same pattern multiple times will return that many distinct
Folder objects.
<p/>
This method can be invoked on a closed Folder.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">pattern</code><span class="separator"> - </span><span class="description">the match pattern</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="listSubscribed()" id="listSubscribed()"/><div class="member detail outer"><h3 class="member detail name">listSubscribed</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[] listSubscribed()
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Convenience method that returns the list of subscribed folders
under this Folder.
This method just calls the <code>listSubscribed(String pattern)</code>
method with "%" as the match pattern.
This method can be invoked on a closed Folder.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="listSubscribed(String)" id="listSubscribed(String)"/><div class="member detail outer"><h3 class="member detail name">listSubscribed</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a>[] listSubscribed(String pattern)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Returns a list of subscribed Folders belonging to
this Folder's namespace that match the specified pattern.
If the folder does not support subscription, this method should
resolve to <code>list</code>.
(The default implementation provided here, does just this).
The pattern can contain wildcards as for list.
<p/>
Folder objects are not cached by the Store, so invoking this method
on the same pattern multiple times will return that many distinct
Folder objects.
<p/>
This method can be invoked on a closed Folder.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">pattern</code><span class="separator"> - </span><span class="description">the match pattern</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyConnectionListeners(int)" id="notifyConnectionListeners(int)"/><div class="member detail outer"><h3 class="member detail name">notifyConnectionListeners</h3><pre class="member detail synopsis">protected void notifyConnectionListeners(int type)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all ConnectionListeners.
Folder implementations are expected to use this method
to broadcast connection events.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyFolderListeners(int)" id="notifyFolderListeners(int)"/><div class="member detail outer"><h3 class="member detail name">notifyFolderListeners</h3><pre class="member detail synopsis">protected void notifyFolderListeners(int type)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all FolderListeners registered on this Folder and this folder's
Store. Folder implementations are expected to use this method to
broadcast Folder events.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyFolderRenamedListeners(javax.mail.Folder)" id="notifyFolderRenamedListeners(javax.mail.Folder)"/><div class="member detail outer"><h3 class="member detail name">notifyFolderRenamedListeners</h3><pre class="member detail synopsis">protected void notifyFolderRenamedListeners(<a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all FolderListeners registered on this Folder and this folder's
Store about the renaming of this folder. Folder implementations are
expected to use this method to broadcast Folder events indicating the
renaming of folders.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyMessageAddedListeners(javax.mail.Message[])" id="notifyMessageAddedListeners(javax.mail.Message[])"/><div class="member detail outer"><h3 class="member detail name">notifyMessageAddedListeners</h3><pre class="member detail synopsis">protected void notifyMessageAddedListeners(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all MessageCountListeners about the addition of messages
into this folder. Folder implementations are expected to use this
method to broadcast MessageCount events for indicating arrival of
new messages.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyMessageChangedListeners(int,javax.mail.Message)" id="notifyMessageChangedListeners(int,javax.mail.Message)"/><div class="member detail outer"><h3 class="member detail name">notifyMessageChangedListeners</h3><pre class="member detail synopsis">protected void notifyMessageChangedListeners(int type,
<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a> msg)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all MessageChangedListeners. Folder implementations are expected
to use this method to broadcast MessageChanged events.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="notifyMessageRemovedListeners(boolean,javax.mail.Message[])" id="notifyMessageRemovedListeners(boolean,javax.mail.Message[])"/><div class="member detail outer"><h3 class="member detail name">notifyMessageRemovedListeners</h3><pre class="member detail synopsis">protected void notifyMessageRemovedListeners(boolean removed,
<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)</pre><blockquote class="member detail name"><div class="member detail description"> Notify all MessageCountListeners about the removal of messages from this
Folder. Folder implementations are expected to use this method to
broadcast MessageCount events indicating removal of messages.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="open(int)" id="open(int)"/><div class="member detail outer"><h3 class="member detail name">open</h3><pre class="member detail synopsis">public abstract void open(int mode)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Open this Folder.
This method is valid only on Folders that can contain Messages and
that are closed.
<p/>
If this folder is opened successfully, an OPENED ConnectionEvent is
delivered to any ConnectionListeners registered on this Folder.
<p/>
The effect of opening multiple connections to the same folder on a
specific Store is implementation dependent. Some implementations allow
multiple readers, but only one writer. Others allow multiple writers
as well as readers.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">mode</code><span class="separator"> - </span><span class="description">open the Folder READ_ONLY or READ_WRITE</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="removeConnectionListener(javax.mail.event.ConnectionListener)" id="removeConnectionListener(javax.mail.event.ConnectionListener)"/><div class="member detail outer"><h3 class="member detail name">removeConnectionListener</h3><pre class="member detail synopsis">public void removeConnectionListener(<a href="../../javax/mail/event/ConnectionListener.html" title="Interface in javax.mail.event">ConnectionListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Remove a Connection event listener.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="removeFolderListener(javax.mail.event.FolderListener)" id="removeFolderListener(javax.mail.event.FolderListener)"/><div class="member detail outer"><h3 class="member detail name">removeFolderListener</h3><pre class="member detail synopsis">public void removeFolderListener(<a href="../../javax/mail/event/FolderListener.html" title="Interface in javax.mail.event">FolderListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Remove a Folder event listener.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="removeMessageChangedListener(javax.mail.event.MessageChangedListener)" id="removeMessageChangedListener(javax.mail.event.MessageChangedListener)"/><div class="member detail outer"><h3 class="member detail name">removeMessageChangedListener</h3><pre class="member detail synopsis">public void removeMessageChangedListener(<a href="../../javax/mail/event/MessageChangedListener.html" title="Interface in javax.mail.event">MessageChangedListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Remove a MessageChanged listener.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="removeMessageCountListener(javax.mail.event.MessageCountListener)" id="removeMessageCountListener(javax.mail.event.MessageCountListener)"/><div class="member detail outer"><h3 class="member detail name">removeMessageCountListener</h3><pre class="member detail synopsis">public void removeMessageCountListener(<a href="../../javax/mail/event/MessageCountListener.html" title="Interface in javax.mail.event">MessageCountListener</a> l)</pre><blockquote class="member detail name"><div class="member detail description"> Remove a MessageCount listener.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="renameTo(javax.mail.Folder)" id="renameTo(javax.mail.Folder)"/><div class="member detail outer"><h3 class="member detail name">renameTo</h3><pre class="member detail synopsis">public abstract boolean renameTo(<a href="../../javax/mail/Folder.html" title="Class in javax.mail">Folder</a> folder)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Rename this Folder.
This method will succeed only on a closed Folder.
<p/>
If the rename is successful, a RENAMED FolderEvent is delivered to
FolderListeners registered on this folder and its containing Store.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">folder</code><span class="separator"> - </span><span class="description">a folder representing the new name for this Folder</span></dd></dl></div><div class="member detail return list"><dl><dt class="member detail return header"><b>Returns:</b></dt><dd class="member detail return item">true if the Folder is renamed successfully</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="search(javax.mail.search.SearchTerm)" id="search(javax.mail.search.SearchTerm)"/><div class="member detail outer"><h3 class="member detail name">search</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] search(<a href="../../javax/mail/search/SearchTerm.html" title="Class in javax.mail.search">SearchTerm</a> term)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Search this Folder for messages matching the specified search criterion.
Returns an array containing the matching messages.
Returns an empty array if no matches were found.
<p/>
This implementation invokes <code>search(term, getMessages())</code>,
to apply the search over all the messages in this folder.
Providers that can implement server-side searching might want to
override this method to provide a more efficient implementation.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">term</code><span class="separator"> - </span><span class="description">the search criterion</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="search(javax.mail.search.SearchTerm,javax.mail.Message[])" id="search(javax.mail.search.SearchTerm,javax.mail.Message[])"/><div class="member detail outer"><h3 class="member detail name">search</h3><pre class="member detail synopsis">public <a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] search(<a href="../../javax/mail/search/SearchTerm.html" title="Class in javax.mail.search">SearchTerm</a> term,
<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Search the given array of messages for those that match the specified
search criterion.
Returns an array containing the matching messages.
Returns an empty array if no matches were found.
<p/>
Note that the specified Message objects must belong to this folder.
<p/>
This implementation iterates through the given array of messages, and
applies the search criterion on each message by calling its
<code>match()</code> method with the given term. The messages that
succeed in the match are returned.
Providers that can implement server-side searching might want to override
this method to provide a more efficient implementation. If the search term
is too complex or contains user-defined terms that cannot be executed on
the server, providers may elect to either throw a SearchException or
degenerate to client-side searching by calling
<code>super.search()</code> to invoke this implementation.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">term</code><span class="separator"> - </span><span class="description">the search criterion</span></dd><dd class="item"><code class="name">msgs</code><span class="separator"> - </span><span class="description">the messages to be searched</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="setFlags(int,int,javax.mail.Flags,boolean)" id="setFlags(int,int,javax.mail.Flags,boolean)"/><div class="member detail outer"><h3 class="member detail name">setFlags</h3><pre class="member detail synopsis">public void setFlags(int start,
int end,
<a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag,
boolean value)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Set the specified flags on the messages numbered from <code>start</code>
through <code>end</code>, both start and end inclusive.
Note that message numbers start at 1, not 0.
This will result in appropriate MessageChangedEvents being delivered
to any MessageChangedListener registered on this Message's containing
folder.
<p/>
Certain Folder implementations can optimize the operation of setting
Flags for a group of messages, so clients might want to use this method,
rather than invoking <code>Message.setFlags</code> for each Message.
<p/>
The default implementation uses <code>getMessage(int)</code> to get
each Message object and then invokes <code>setFlags</code> on that
object to set the flags. Specific Folder implementations that can
optimize this case should do so. Also, an implementation must not abort
the operation if a message number refers to an expunged message.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">start</code><span class="separator"> - </span><span class="description">the number of the first message</span></dd><dd class="item"><code class="name">end</code><span class="separator"> - </span><span class="description">the number of the last message</span></dd><dd class="item"><code class="name">flag</code><span class="separator"> - </span><span class="description">Flags object containing the flags to be set</span></dd><dd class="item"><code class="name">value</code><span class="separator"> - </span><span class="description">set the flags to this boolean value</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="setFlags(javax.mail.Message[],javax.mail.Flags,boolean)" id="setFlags(javax.mail.Message[],javax.mail.Flags,boolean)"/><div class="member detail outer"><h3 class="member detail name">setFlags</h3><pre class="member detail synopsis">public void setFlags(<a href="../../javax/mail/Message.html" title="Class in javax.mail">Message</a>[] msgs,
<a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag,
boolean value)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Set the specified flags on the messages specified in the array.
This will result in appropriate MessageChangedEvents being delivered
to any MessageChangedListener registered on this Message's containing
folder.
<p/>
Note that the specified Message objects must belong to this folder.
Certain Folder implementations can optimize the operation of setting
Flags for a group of messages, so clients might want to use this
method, rather than invoking <code>Message.setFlags</code> for each
Message.
<p/>
This implementation degenerates to invoking <code>setFlags()</code>
on each Message object. Specific Folder implementations that can
optimize this case should do so. Also, an implementation must not
abort the operation if a Message in the array turns out to be an
expunged Message.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">flag</code><span class="separator"> - </span><span class="description">Flags object containing the flags to be set</span></dd><dd class="item"><code class="name">value</code><span class="separator"> - </span><span class="description">set the flags to this boolean value</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="setFlags(msgnums[],javax.mail.Flags,boolean)" id="setFlags(msgnums[],javax.mail.Flags,boolean)"/><div class="member detail outer"><h3 class="member detail name">setFlags</h3><pre class="member detail synopsis">public void setFlags(msgnums[] ,
<a href="../../javax/mail/Flags.html" title="Class in javax.mail">Flags</a> flag,
boolean value)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Set the specified flags on the messages whose message numbers
are in the array.
This will result in appropriate MessageChangedEvents being delivered
to any MessageChangedListener registered on this Message's containing
folder.
<p/>
Certain Folder implementations can optimize the operation of setting
Flags for a group of messages, so clients might want to use this method,
rather than invoking <code>Message.setFlags</code> for each Message.
<p/>
The default implementation uses <code>getMessage(int)</code> to get
each Message object and then invokes <code>setFlags</code> on that
object to set the flags. Specific Folder implementations that can
optimize this case should do so. Also, an implementation must not abort
the operation if a message number refers to an expunged message.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">flag</code><span class="separator"> - </span><span class="description">Flags object containing the flags to be set</span></dd><dd class="item"><code class="name">value</code><span class="separator"> - </span><span class="description">set the flags to this boolean value</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="setSubscribed(boolean)" id="setSubscribed(boolean)"/><div class="member detail outer"><h3 class="member detail name">setSubscribed</h3><pre class="member detail synopsis">public void setSubscribed(boolean flag)
throws <a href="../../javax/mail/MessagingException.html" title="Class in javax.mail">MessagingException</a></pre><blockquote class="member detail name"><div class="member detail description"> Subscribe or unsubscribe this Folder.
Not all Stores support subscription.
<p/>
This method can be invoked on a closed Folder.
<p/>
The implementation provided here just throws the
MethodNotSupportedException.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="toString()" id="toString()"/><div class="member detail outer"><h3 class="member detail name">toString</h3><pre class="member detail synopsis">public String toString()</pre><blockquote class="member detail name"><div class="member detail description"> override the default toString(),
it will return the String from Folder.getFullName() or if that is null,
it will use the default toString() behavior.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item active">Class</span> <span class="navbar item enabled"><a href="Folder-uses.html">Use</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../../about.html">About</a></span></div></td></tr></table><hr/>© Copyright 2003, 2004
The Free Software Foundation, All rights reserved</body></html>