javax.mail
Class FetchProfile
public class FetchProfile
extends java.lang.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);
static class | FetchProfile.Item - This inner class is the base class of all items that can be requested
in a FetchProfile.
|
void | add(String header) - Add the specified header-field to the list of attributes to be prefetched.
|
void | add(FetchProfile.Item item) - Add the given special item as one of the attributes to be prefetched.
|
boolean | contains(String header) - Returns true if the fetch profile contains the given header name.
|
boolean | contains(FetchProfile.Item item) - Returns true if the fetch profile contains given special item.
|
String[] | getHeaderNames() - Get the names of the header-fields set in this profile.
|
FetchProfile.Item[] | getItems() - Get the items set in this profile.
|
FetchProfile
public FetchProfile()
Create an empty FetchProfile.
add
public void add(String header)
Add the specified header-field to the list of attributes to be prefetched.
header
- the header to be prefetched
add
public void add(FetchProfile.Item item)
Add the given special item as one of the attributes to be prefetched.
item
- the special item to be fetched
contains
public boolean contains(String header)
Returns true if the fetch profile contains the given header name.
contains
public boolean contains(FetchProfile.Item item)
Returns true if the fetch profile contains given special item.
getHeaderNames
public String[] getHeaderNames()
Get the names of the header-fields set in this profile.