javax.mail
クラス FetchProfile

java.lang.Object
  上位を拡張 javax.mail.FetchProfile

public final class FetchProfile
extends Object

クライアントは FetchProfile を使用して、ある範囲のメッセージに 関してサーバから先取りしたい Message 属性の一覧を表示します。

Folder から取得されるメッセージは、通常実際のメッセージへ の空の参照として開始する軽量オブジェクトです。 こうした Message オブジェクトは、適切なゲッターメソッドが 特定の Message 上で呼び出されると "オンデマンド" で入力されます。 サーバベースのメッセージアクセスプロトコル (IMAP など) の中には、 一定範囲のメッセージに関するメッセージ属性の一括フェッチを単一の要求で可能にする物があります。 一定範囲の Messages についてメッセージ属性を使用する (例: ヘッダリストの トップレベルのヘッダを表示する) クライアントは、 そうしたサーバにより提供される最適化を使用するとよいでしょう。 FetchProfile により、クライアントはこの要求をサーバに示す事ができます。

バックエンドのサービスによってはこうしたプロファイルを容易に、 又効率的に取得できない場合もある為、実装で必ずしも FetchProfile をサポートする必要はありません。

FetchProfile を使用したサンプルコードを以下に示します。

 
  Message[] msgs = folder.getMessages();
 
  FetchProfile fp = new FetchProfile();
  fp.add(FetchProfile.Item.ENVELOPE);
  fp.add("X-mailer");
  folder.fetch(msgs, fp);
 
 

関連項目:
Folder.fetch(javax.mail.Message[], javax.mail.FetchProfile)

入れ子のクラスの概要
static class FetchProfile.Item
          この内部クラスは FetchProfile 内で要求可能な全項目の基底クラスです。
 
コンストラクタの概要
FetchProfile()
          空の FetchProfile を作成します。
 
メソッドの概要
 void add(FetchProfile.Item item)
          先取りされる属性の 1 つとして指定された特別な項目を追加します。
 void add(String headerName)
          指定されたヘッダフィールドを、先取りされる属性のリストに追加します。
 boolean contains(FetchProfile.Item item)
          フェッチプロファイルが指定された特別な項目を含む場合は true を返します。
 boolean contains(String headerName)
          フェッチプロファイルが指定されたヘッダ名を含む場合は true を返します。
 String[] getHeaderNames()
          このプロファイルに設定されたヘッダフィールドの名前を取得します。
 FetchProfile.Item[] getItems()
          このプロファイルに設定された項目を取得します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FetchProfile

public FetchProfile()
空の FetchProfile を作成します。

メソッドの詳細

add

public void add(FetchProfile.Item item)
先取りされる属性の 1 つとして指定された特別な項目を追加します。

パラメータ:
item - 取り出される特別な項目
関連項目:
FetchProfile.Item.ENVELOPE, FetchProfile.Item.CONTENT_INFO, FetchProfile.Item.FLAGS

add

public void add(String headerName)
指定されたヘッダフィールドを、先取りされる属性のリストに追加します。

パラメータ:
headerName - 先取りされるヘッダ

contains

public boolean contains(FetchProfile.Item item)
フェッチプロファイルが指定された特別な項目を含む場合は true を返します。


contains

public boolean contains(String headerName)
フェッチプロファイルが指定されたヘッダ名を含む場合は true を返します。


getItems

public FetchProfile.Item[] getItems()
このプロファイルに設定された項目を取得します。

戻り値:
このプロファイルに設定された項目

getHeaderNames

public String[] getHeaderNames()
このプロファイルに設定されたヘッダフィールドの名前を取得します。

戻り値:
このプロファイルに設定されたヘッダ