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);
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
This inner class is the base class of all items that can be requested in a FetchProfile. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(FetchProfile.Item item) Add the given special item as one of the attributes to be prefetched.void
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 the given special item.boolean
Returns true if the fetch profile contains the given header name.String[]
Get the names of the header-fields set in this profile.getItems()
Get the items set in this profile.
-
Constructor Details
-
FetchProfile
public FetchProfile()Create an empty FetchProfile.
-
-
Method Details
-
add
Add the given special item as one of the attributes to be prefetched.- Parameters:
item
- the special item to be fetched- See Also:
-
add
Add the specified header-field to the list of attributes to be prefetched.- Parameters:
headerName
- header to be prefetched
-
contains
Returns true if the fetch profile contains the given special item.- Parameters:
item
- the Item to test- Returns:
- true if the fetch profile contains the given special item
-
contains
Returns true if the fetch profile contains the given header name.- Parameters:
headerName
- the header to test- Returns:
- true if the fetch profile contains the given header name
-
getItems
Get the items set in this profile.- Returns:
- items set in this profile
-
getHeaderNames
Get the names of the header-fields set in this profile.- Returns:
- headers set in this profile
-