| java.lang.Object | |
| ↳ | com.google.code.javax.mail.Folder |
Known Direct Subclasses
|
Known Indirect Subclasses
|
GmailFolder is an abstract class that represents a folder for mail messages. Subclasses implement protocol specific Folders.
Folders can contain Messages, other Folders or both, thus providing a tree-like hierarchy rooted at the Store's default folder. (Note that some GmailFolder implementations may not allow both Messages and other Folders in the same GmailFolder).
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.
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.
A GmailFolder object obtained from a Store need not actually exist
in the backend store. The exists method tests whether
the folder exists or not. The create method
creates a GmailFolder.
A GmailFolder is initially in the closed state. Certain methods are valid
in this state; the documentation for those methods note this. A
GmailFolder is opened by calling its 'open' method. All GmailFolder methods,
except open, delete and
renameTo, are valid in this state.
The only way to get a GmailFolder is by invoking the
getFolder method on Store, GmailFolder, or Session, or by invoking
the list or listSubscribed methods
on GmailFolder. GmailFolder objects returned by the above methods are not
cached by the Store. Thus, invoking the getFolder method
with the same folder name multiple times will return distinct GmailFolder
objects. Likewise for the list and listSubscribed
methods.
The Message objects within the GmailFolder are cached by the GmailFolder.
Thus, invoking getMessage(msgno) on the same message number
multiple times will return the same Message object, until an
expunge is done on this GmailFolder.
Message objects from a GmailFolder are only valid while a GmailFolder is open and should not be accessed after the GmailFolder is closed, even if the GmailFolder is subsequently reopened. Instead, new Message objects must be fetched from the GmailFolder after the GmailFolder is reopened.
Note that a Message's message number can change within a session if the containing GmailFolder 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.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | HOLDS_FOLDERS | This folder can contain other folders | |||||||||
| int | HOLDS_MESSAGES | This folder can contain messages | |||||||||
| int | READ_ONLY | The GmailFolder is read only. | |||||||||
| int | READ_WRITE | The state and contents of this folder can be modified. | |||||||||
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| connectionListeners | |||||||||||
| folderListeners | |||||||||||
| messageChangedListeners | |||||||||||
| messageCountListeners | |||||||||||
| mode | The open mode of this folder. | ||||||||||
| q | |||||||||||
| qLock | |||||||||||
| store | The parent store. | ||||||||||
| Protected Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Constructor that takes a Store object.
| |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Add a listener for Connection events on this GmailFolder.
| |||||||||||
Add a listener for GmailFolder events on this GmailFolder.
| |||||||||||
Add a listener for MessageChanged events on this GmailFolder.
| |||||||||||
Add a listener for MessageCount events on this GmailFolder.
| |||||||||||
Append given Messages to this folder.
| |||||||||||
Close this GmailFolder.
| |||||||||||
Copy the specified Messages from this GmailFolder into another
GmailFolder.
| |||||||||||
Create this folder on the Store.
| |||||||||||
Delete this GmailFolder.
| |||||||||||
Tests if this folder physically exists on the Store.
| |||||||||||
Expunge (permanently remove) messages marked DELETED.
| |||||||||||
Prefetch the items specified in the FetchProfile for the
given Messages.
| |||||||||||
Get the number of deleted messages in this GmailFolder.
| |||||||||||
Return the GmailFolder object corresponding to the given name.
| |||||||||||
Returns the full name of this GmailFolder.
| |||||||||||
Get the Message object corresponding to the given message
number.
| |||||||||||
Get total number of messages in this GmailFolder.
| |||||||||||
Get the Message objects for message numbers specified in
the array.
| |||||||||||
Get all Message objects from this GmailFolder.
| |||||||||||
Get the Message objects for message numbers ranging from start
through end, both start and end inclusive.
| |||||||||||
Return the open mode of this folder.
| |||||||||||
Returns the name of this GmailFolder.
| |||||||||||
Get the number of new messages in this GmailFolder.
| |||||||||||
Returns the parent folder of this folder.
| |||||||||||
Get the permanent flags supported by this GmailFolder.
| |||||||||||
Return the delimiter character that separates this GmailFolder's pathname
from the names of immediate subfolders.
| |||||||||||
Returns the Store that owns this GmailFolder object.
| |||||||||||
Returns the type of this GmailFolder, that is, whether this folder can hold
messages or subfolders or both.
| |||||||||||
Return a URLName representing this folder.
| |||||||||||
Get the total number of unread messages in this GmailFolder.
| |||||||||||
Returns true if this GmailFolder has new messages since the last time
this indication was reset.
| |||||||||||
Indicates whether this GmailFolder is in the 'open' state.
| |||||||||||
Returns true if this GmailFolder is subscribed.
| |||||||||||
Convenience method that returns the list of folders under this
GmailFolder.
| |||||||||||
Returns a list of Folders belonging to this GmailFolder's namespace
that match the specified pattern.
| |||||||||||
Convenience method that returns the list of subscribed folders
under this GmailFolder.
| |||||||||||
Returns a list of subscribed Folders belonging to this GmailFolder's
namespace that match the specified pattern.
| |||||||||||
Open this GmailFolder.
| |||||||||||
Remove a Connection event listener.
| |||||||||||
Remove a GmailFolder event listener.
| |||||||||||
Remove a MessageChanged listener.
| |||||||||||
Remove a MessageCount listener.
| |||||||||||
Rename this GmailFolder.
| |||||||||||
Search this GmailFolder for messages matching the specified
search criterion.
| |||||||||||
Search the given array of messages for those that match the
specified search criterion.
| |||||||||||
Set the specified flags on the messages numbered from start
through end, both start and end inclusive.
| |||||||||||
Set the specified flags on the messages specified in the array.
| |||||||||||
Set the specified flags on the messages whose message numbers
are in the array.
| |||||||||||
Subscribe or unsubscribe this GmailFolder.
| |||||||||||
override the default toString(), it will return the String
from GmailFolder.getFullName() or if that is null, it will use
the default toString() behavior.
| |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Notify all ConnectionListeners.
| |||||||||||
Notify all FolderListeners registered on this GmailFolder and
this folder's Store.
| |||||||||||
Notify all FolderListeners registered on this GmailFolder and
this folder's Store about the renaming of this folder.
| |||||||||||
Notify all MessageCountListeners about the addition of messages
into this folder.
| |||||||||||
Notify all MessageChangedListeners.
| |||||||||||
Notify all MessageCountListeners about the removal of messages
from this GmailFolder.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
This folder can contain other folders
This folder can contain messages
The GmailFolder is read only. The state and contents of this folder cannot be modified.
The state and contents of this folder can be modified.
The open mode of this folder. The open mode is
GmailFolder.READ_ONLY, GmailFolder.READ_WRITE,
or -1 if not known.
Constructor that takes a Store object.
| store | The Store that holds this folder |
|---|
Add a listener for Connection events on this GmailFolder.
The implementation provided here adds this listener to an internal list of ConnectionListeners.
| l | The Listener for Connection events |
|---|
Add a listener for GmailFolder events on this GmailFolder.
The implementation provided here adds this listener to an internal list of FolderListeners.
| l | The Listener for GmailFolder events |
|---|
Add a listener for MessageChanged events on this GmailFolder.
The implementation provided here adds this listener to an internal list of MessageChangedListeners.
| l | The Listener for MessageChanged events |
|---|
Add a listener for MessageCount events on this GmailFolder.
The implementation provided here adds this listener to an internal list of MessageCountListeners.
| l | The Listener for MessageCount events |
|---|
Append given Messages to this folder. This method can be invoked on a closed GmailFolder. An appropriate MessageCountEvent is delivered to any MessageCountListener registered on this folder when the messages arrive in the folder.
GmailFolder implementations must not abort this operation if a Message in the given message array turns out to be an expunged Message.
| msgs | Array of Messages to be appended |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException | if the append failed. |
Close this GmailFolder. This method is valid only on open Folders.
A CLOSED ConnectionEvent is delivered to any ConnectionListeners registered on this GmailFolder. Note that the folder is closed even if this method terminates abnormally by throwing a MessagingException.
| expunge | Expunges all deleted messages if this flag is true |
|---|
| IllegalStateException | if this folder is not opened |
|---|---|
| MessagingException |
Copy the specified Messages from this GmailFolder into another GmailFolder. This operation appends these Messages to the destination GmailFolder. The destination GmailFolder 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.
Note that the specified Message objects must belong to this folder. GmailFolder implementations might be able to optimize this method by doing server-side copies.
This implementation just invokes appendMessages()
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.
| msgs | The array of message objects |
|---|---|
| folder | The folder to copy the messages to |
| FolderNotFoundException | if the destination folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened. |
| MessagingException |
Create this folder on the Store. When this folder is created, any folders in its path that do not exist are also created.
If the creation is successful, a CREATED FolderEvent is delivered to any FolderListeners registered on this GmailFolder and this Store.
| type | The type of this folder. |
|---|
| MessagingException |
|---|
HOLDS_FOLDERSHOLDS_MESSAGESDelete this GmailFolder. This method will succeed only on a closed GmailFolder.
The recurse 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:
If the folder contains subfolders there are 3 possible choices an implementation is free to do:
| recurse |
|---|
| FolderNotFoundException | if this folder does not exist |
|---|---|
| IllegalStateException | if this folder is not in the closed state. |
| MessagingException |
Tests if this folder physically exists on the Store. This method can be invoked on a closed GmailFolder.
| MessagingException | typically if the connection to the server is lost. |
|---|
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.
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.
After a message is expunged, only the isExpunged and
getMessageNumber methods are still valid on the
corresponding Message object; other methods may throw
MessageRemovedException
| FolderNotFoundException | if this folder does not exist |
|---|---|
| IllegalStateException | if this folder is not opened. |
| MessagingException |
isExpunged()Prefetch the items specified in the FetchProfile for the given Messages.
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.
An example is a client filling its header-view window with the Subject, From and X-mailer headers for all messages in the folder.
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 < folder.getMessageCount(); i++) {
display(msg[i].getFrom());
display(msg[i].getSubject());
display(msg[i].getHeader("X-mailer"));
}
The implementation provided here just returns without doing anything useful. Providers wanting to provide a real implementation for this method should override this method.
| msgs | Fetch items for these messages |
|---|---|
| fp | The FetchProfile |
| IllegalStateException | if this folder is not opened |
|---|---|
| MessagingException |
Get the number of deleted messages in this GmailFolder.
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.
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.
This implementation returns -1 if this folder is closed. Else
this implementation gets each Message in the folder using
getMessage(int) and checks whether its
DELETED flag is set. The total number of messages
that have this flag set is returned.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Return the GmailFolder object corresponding to the given name. Note that
this folder does not physically have to exist in the Store. The
exists() method on a GmailFolder indicates whether it really
exists on the Store.
In some Stores, name can be an absolute path if it starts with the hierarchy delimiter. Otherwise, it is interpreted relative to this GmailFolder.
GmailFolder objects are not cached by the Store, so invoking this method on the same name multiple times will return that many distinct GmailFolder objects.
This method can be invoked on a closed GmailFolder.
| name | Name of the GmailFolder |
|---|
| MessagingException |
|---|
Returns the full name of this GmailFolder. 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.
This method can be invoked on a closed GmailFolder.
Get the Message object corresponding to the given message number. A Message object's message number is the relative position of this Message in its GmailFolder. 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 GmailFolder are deleted and the GmailFolder is expunged.
Message objects are light-weight references to the actual message that get filled up on demand. Hence GmailFolder implementations are expected to provide light-weight Message objects.
Unlike GmailFolder 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.
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.
| msgnum | The message number |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened |
| IndexOutOfBoundsException | if the message number is out of range. |
| MessagingException |
Get total number of messages in this GmailFolder.
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.
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.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Get the Message objects for message numbers specified in the array.
Message objects are light-weight references to the actual message that get filled up on demand. Hence GmailFolder implementations are expected to provide light-weight Message objects.
This implementation uses getMessage(index) to obtain the required
Message objects. Note that the returned array must contain
msgnums.length Message objects
| msgnums | The array of message numbers |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened. |
| IndexOutOfBoundsException | if any message number in the given array is out of range. |
| MessagingException |
Get all Message objects from this GmailFolder. 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. GmailFolder implementations are expected to provide light-weight Message objects, which get filled on demand.
This implementation invokes getMessageCount() to get
the current message count and then uses getMessage()
to get Message objects from 1 till the message count.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened. |
| MessagingException |
Get the Message objects for message numbers ranging from start through end, both start and end inclusive. Note that message numbers start at 1, not 0.
Message objects are light-weight references to the actual message that get filled up on demand. Hence GmailFolder implementations are expected to provide light-weight Message objects.
This implementation uses getMessage(index) to obtain the required
Message objects. Note that the returned array must contain
(end-start+1) Message objects.
| start | The number of the first message |
|---|---|
| end | The number of the last message |
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened. |
| IndexOutOfBoundsException | if the start or end message numbers are out of range. |
| MessagingException |
Return the open mode of this folder. Returns
GmailFolder.READ_ONLY, GmailFolder.READ_WRITE,
or -1 if the open mode is not known (usually only because an older
GmailFolder provider has not been updated to use this new
method).
| IllegalStateException | if this folder is not opened |
|---|
Returns the name of this GmailFolder.
This method can be invoked on a closed GmailFolder.
Get the number of new messages in this GmailFolder.
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.
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.
This implementation returns -1 if this folder is closed. Else
this implementation gets each Message in the folder using
getMessage(int) and checks whether its
RECENT flag is set. The total number of messages
that have this flag set is returned.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Returns the parent folder of this folder. This method can be invoked on a closed GmailFolder. If this folder is the top of a folder hierarchy, this method returns null.
Note that since GmailFolder objects are not cached, invoking this method returns a new distinct GmailFolder object.
| MessagingException |
|---|
Get the permanent flags supported by this GmailFolder. Returns a Flags object that contains all the flags supported.
The special flag Flags.Flag.USER indicates that this GmailFolder
supports arbitrary user-defined flags.
The supported permanent flags for a folder may not be available until the folder is opened.
Return the delimiter character that separates this GmailFolder's pathname from the names of immediate subfolders. This method can be invoked on a closed GmailFolder.
| FolderNotFoundException | if the implementation requires the folder to exist, but it does not |
|---|---|
| MessagingException |
Returns the Store that owns this GmailFolder object. This method can be invoked on a closed GmailFolder.
Returns the type of this GmailFolder, 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.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Return a URLName representing this folder. The returned URLName does not include the password used to access the store.
| MessagingException |
|---|
Get the total number of unread messages in this GmailFolder.
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.
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.
This implementation returns -1 if this folder is closed. Else
this implementation gets each Message in the folder using
getMessage(int) and checks whether its
SEEN flag is set. The total number of messages
that do not have this flag set is returned.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Returns true if this GmailFolder has new messages since the last time
this indication was reset. When this indication is set or reset
depends on the GmailFolder 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 GmailFolder 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 GmailFolder have the RECENT flag set.
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 GmailFolder needs to be opened.
This method can be invoked on a closed GmailFolder that can contain Messages.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Indicates whether this GmailFolder is in the 'open' state.
Returns true if this GmailFolder is subscribed.
This method can be invoked on a closed GmailFolder.
The default implementation provided here just returns true.
Convenience method that returns the list of folders under this
GmailFolder. This method just calls the list(String pattern)
method with "%" as the match pattern. This method can
be invoked on a closed GmailFolder.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Returns a list of Folders belonging to this GmailFolder'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.
As an example, given the folder hierarchy:
Personal/
Finance/
Stocks
Bonus
StockOptions
Jokes
list("*") on "Personal" will return the whole
hierarchy. list("%") on "Personal" will return "Finance" and
"Jokes". list("Jokes") on "Personal" will return "Jokes".list("Stock*") on "Finance" will return "Stocks"
and "StockOptions". GmailFolder objects are not cached by the Store, so invoking this method on the same pattern multiple times will return that many distinct GmailFolder objects.
This method can be invoked on a closed GmailFolder.
| pattern | The match pattern |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Convenience method that returns the list of subscribed folders
under this GmailFolder. This method just calls the
listSubscribed(String pattern) method with "%"
as the match pattern. This method can be invoked on a closed GmailFolder.
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Returns a list of subscribed Folders belonging to this GmailFolder's
namespace that match the specified pattern. If the folder does
not support subscription, this method should resolve to
list.
(The default implementation provided here, does just this).
The pattern can contain wildcards as for list.
Note that, at a given level of the folder hierarchy, a particular
folder may not be subscribed, but folders underneath that folder
in the folder hierarchy may be subscribed. In order to allow
walking the folder hierarchy, such unsubscribed folders may be
returned, indicating that a folder lower in the hierarchy is
subscribed. The isSubscribed method on a folder will
tell whether any particular folder is actually subscribed.
GmailFolder objects are not cached by the Store, so invoking this method on the same pattern multiple times will return that many distinct GmailFolder objects.
This method can be invoked on a closed GmailFolder.
| pattern | The match pattern |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MessagingException |
Open this GmailFolder. This method is valid only on Folders that can contain Messages and that are closed.
If this folder is opened successfully, an OPENED ConnectionEvent is delivered to any ConnectionListeners registered on this GmailFolder.
The effect of opening multiple connections to the same folder on a specifc Store is implementation dependent. Some implementations allow multiple readers, but only one writer. Others allow multiple writers as well as readers.
| mode | Open the GmailFolder READ_ONLY or READ_WRITE |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not in the closed state. |
| MessagingException |
READ_ONLYREAD_WRITEgetType()Remove a Connection event listener.
The implementation provided here removes this listener from the internal list of ConnectionListeners.
| l | The listener |
|---|
Remove a GmailFolder event listener.
The implementation provided here removes this listener from the internal list of FolderListeners.
| l | The listener |
|---|
Remove a MessageChanged listener.
The implementation provided here removes this listener from the internal list of MessageChangedListeners.
| l | The listener |
|---|
Remove a MessageCount listener.
The implementation provided here removes this listener from the internal list of MessageCountListeners.
| l | The listener |
|---|
Rename this GmailFolder. This method will succeed only on a closed GmailFolder.
If the rename is successful, a RENAMED FolderEvent is delivered to FolderListeners registered on this folder and its containing Store.
| f | A folder representing the new name for this GmailFolder |
|---|
| FolderNotFoundException | if this folder does not exist |
|---|---|
| IllegalStateException | if this folder is not in the closed state. |
| MessagingException |
Search this GmailFolder for messages matching the specified search criterion. Returns an array containing the matching messages . Returns an empty array if no matches were found.
This implementation invokes
search(term, getMessages()), 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.
| term | The search criterion |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| IllegalStateException | if this folder is not opened. |
| MessagingException |
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.
Note that the specified Message objects must belong to this folder.
This implementation iterates through the given array of messages,
and applies the search criterion on each message by calling
its match() 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 super.search() to invoke this implementation.
| term | The search criterion |
|---|---|
| msgs | The messages to be searched |
| IllegalStateException | if this folder is not opened |
|---|---|
| MessagingException |
Set the specified flags on the messages numbered from start through end, 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.
Certain GmailFolder implementations can
optimize the operation of setting Flags for a group of messages,
so clients might want to use this method, rather than invoking
Message.setFlags for each Message.
The default implementation uses getMessage(int) to
get each Message object and then invokes
setFlags on that object to set the flags.
Specific GmailFolder 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.
| start | The number of the first message |
|---|---|
| end | The number of the last message |
| flag | Flags object containing the flags to be set |
| value | Set the flags to this boolean value |
| IllegalStateException | if this folder is not opened or if it has been opened READ_ONLY. |
|---|---|
| IndexOutOfBoundsException | if the start or end message numbers are out of range. |
| MessagingException |
setFlags(Flags, boolean)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.
Note that the specified Message objects must
belong to this folder. Certain GmailFolder implementations can
optimize the operation of setting Flags for a group of messages,
so clients might want to use this method, rather than invoking
Message.setFlags for each Message.
This implementation degenerates to invoking setFlags()
on each Message object. Specific GmailFolder 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.
| msgs | The array of message objects |
|---|---|
| flag | Flags object containing the flags to be set |
| value | Set the flags to this boolean value |
| IllegalStateException | if this folder is not opened or if it has been opened READ_ONLY. |
|---|---|
| MessagingException |
setFlags(Flags, boolean)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.
Certain GmailFolder implementations can
optimize the operation of setting Flags for a group of messages,
so clients might want to use this method, rather than invoking
Message.setFlags for each Message.
The default implementation uses getMessage(int) to
get each Message object and then invokes
setFlags on that object to set the flags.
Specific GmailFolder 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.
| msgnums | The array of message numbers |
|---|---|
| flag | Flags object containing the flags to be set |
| value | Set the flags to this boolean value |
| IllegalStateException | if this folder is not opened or if it has been opened READ_ONLY. |
|---|---|
| IndexOutOfBoundsException | if any message number in the given array is out of range. |
| MessagingException |
setFlags(Flags, boolean)Subscribe or unsubscribe this GmailFolder. Not all Stores support subscription.
This method can be invoked on a closed GmailFolder.
The implementation provided here just throws the MethodNotSupportedException.
| subscribe | True to subscribe, false to unsubscribe |
|---|
| FolderNotFoundException | if this folder does not exist. |
|---|---|
| MethodNotSupportedException | if this store does not support subscription |
| MessagingException |
override the default toString(), it will return the String from GmailFolder.getFullName() or if that is null, it will use the default toString() behavior.
| Throwable |
|---|
Notify all ConnectionListeners. GmailFolder implementations are expected to use this method to broadcast connection events.
The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered ConnectionListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.
| type | The ConnectionEvent type |
|---|
Notify all FolderListeners registered on this GmailFolder and this folder's Store. GmailFolder implementations are expected to use this method to broadcast GmailFolder events.
The implementation provided here queues the event into
an internal event queue. An event dispatcher thread dequeues
events from the queue and dispatches them to the
FolderListeners registered on this folder. The implementation
also invokes notifyFolderListeners on this folder's
Store to notify any FolderListeners registered on the store.
| type | Type of FolderEvent |
|---|
Notify all FolderListeners registered on this GmailFolder and this folder's Store about the renaming of this folder. GmailFolder implementations are expected to use this method to broadcast GmailFolder events indicating the renaming of folders.
The implementation provided here queues the event into
an internal event queue. An event dispatcher thread dequeues
events from the queue and dispatches them to the
FolderListeners registered on this folder. The implementation
also invokes notifyFolderRenamedListeners on this
folder's Store to notify any FolderListeners registered on the store.
| folder | GmailFolder representing the new name. |
|---|
Notify all MessageCountListeners about the addition of messages into this folder. GmailFolder implementations are expected to use this method to broadcast MessageCount events for indicating arrival of new messages.
The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered MessageCountListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.
| msgs |
|---|
Notify all MessageChangedListeners. GmailFolder implementations are expected to use this method to broadcast MessageChanged events.
The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to registered MessageChangedListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.
| type | |
|---|---|
| msg |
Notify all MessageCountListeners about the removal of messages from this GmailFolder. GmailFolder implementations are expected to use this method to broadcast MessageCount events indicating removal of messages.
The provided implementation queues the event into an internal event queue. An event dispatcher thread dequeues events from the queue and dispatches them to the registered MessageCountListeners. Note that the event dispatching occurs in a separate thread, thus avoiding potential deadlock problems.
| removed | |
|---|---|
| msgs |