JavaTM Platform, Enterprise Edition, v 5.0
javax.mail
Class FetchProfile
java.lang.Object
javax.mail.FetchProfile
public class FetchProfile - extends Object
Clients use a FetchProfile to list the Message attributes that
it wishes to prefetch from the server for a range of messages.
Messages obtained from a Folder are light-weight objects that
typically start off as empty references to the actual messages.
Such a Message object is filled in "on-demand" when the appropriate
get*() methods are invoked on that particular Message. Certain
server-based message access protocols (Ex: IMAP) allow batch
fetching of message attributes for a range of messages in a single
request. Clients that want to use message attributes for a range of
Messages (Example: to display the top-level headers in a headerlist)
might want to use the optimization provided by such servers. The
FetchProfile allows the client to indicate this desire
to the server.
Note that implementations are not obligated to support
FetchProfiles, since there might be cases where the backend service
does not allow easy, efficient fetching of such profiles.
Sample code that illustrates the use of a FetchProfile is given
below:
Message[] msgs = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add("X-mailer");
folder.fetch(msgs, fp);
- Author:
- John Mani, Bill Shannon
- See Also:
Folder.fetch(javax.mail.Message[], javax.mail.FetchProfile)
Nested Class Summary |
static class |
FetchProfile.Item
This inner class is the base class of all items that
can be requested in a FetchProfile. |
Constructor Summary |
FetchProfile()
Create an empty FetchProfile. |
Method Summary |
void |
add(FetchProfile.Item item)
Add the given special item as one of the attributes to
be prefetched. |
void |
add(String headerName)
Add the specified header-field to the list of attributes
to be prefetched. |
boolean |
contains(FetchProfile.Item item)
Returns true if the fetch profile contains given special item. |
boolean |
contains(String headerName)
Returns true if the fetch profile contains given header name. |
String[] |
getHeaderNames()
Get the names of the header-fields set in this profile. |
FetchProfile.Item[] |
getItems()
Get the items set in this profile. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FetchProfile
public FetchProfile()
- Create an empty FetchProfile.
add
public void add(FetchProfile.Item item)
- Add the given special item as one of the attributes to
be prefetched.
- Parameters:
item - the special item to be fetched- See Also:
FetchProfile.Item.ENVELOPE ,
FetchProfile.Item.CONTENT_INFO ,
FetchProfile.Item.FLAGS
add
public void add(String headerName)
- Add the specified header-field to the list of attributes
to be prefetched.
- Parameters:
headerName - header to be prefetched
contains
public boolean contains(FetchProfile.Item item)
- Returns true if the fetch profile contains given special item.
contains
public boolean contains(String headerName)
- Returns true if the fetch profile contains given header name.
getItems
public FetchProfile.Item[] getItems()
- Get the items set in this profile.
- Returns:
- items set in this profile
getHeaderNames
public String[] getHeaderNames()
- Get the names of the header-fields set in this profile.
- Returns:
- headers set in this profile
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|