javax.mail
インタフェース UIDFolder

既知の実装クラスの一覧:
DefaultFolder, IMAPFolder

public interface UIDFolder

UIDFolder インタフェースは、"disconnected" モードの操作をサポートする Folder が実装します。 そのような実装では、フォルダ中のメッセージに対して一意の ID を提供します。 このインタフェースは、disconnected 操作をサポートするための IMAP モデルをベースにしています。

UID (一意の ID) は正の long 値で、特定のフォルダ中の各メッセージに割り当てられます。 UID は、メールボックスにおいて必ず昇順に割り当てられます。 つまり、各メッセージがメールボックスに追加される時、既存のメッセージよりも大きな UID が割り当てられます。 UID はセッションをまたがって持続します。これによりクライアントは、 前のセッションの状態をサーバと再度同期を取る事ができます。

全てのメールボックスと関連付けられるのは、UID の妥当性値です。 前のセッションの UID をこのセッションで続けて使用できない場合、 UID 妥当性値は前のセッションで使用された値より大きい必要があります

詳細については、RFC 2060 を参照して下さい。


入れ子のクラスの概要
static class UIDFolder.FetchProfileItem
          UID を取り出すフェッチプロファイル項目です。
 
フィールドの概要
static long LASTUID
          これは、このフォルダ中の最後の UID を示す為に、 getMessages(start, end) 中の end パラメータとして使用できる特殊な値です。
 
メソッドの概要
 Message getMessageByUID(long uid)
          指定された UID に対応する Message を取得します。
 Message[] getMessagesByUID(long[] uids)
          UID の配列により指定された Message を取得します。
 Message[] getMessagesByUID(long start, long end)
          範囲が指定された Message を取得します。
 long getUID(Message message)
          指定されたメッセージの UID を取得します。
 long getUIDValidity()
          このフォルダに関連した UIDValidity 値を返します。
 

フィールドの詳細

LASTUID

static final long LASTUID
これは、このフォルダ中の最後の UID を示す為に、 getMessages(start, end) 中の end パラメータとして使用できる特殊な値です。

関連項目:
getMessagesByUID(long, long), 定数フィールド値
メソッドの詳細

getUIDValidity

long getUIDValidity()
                    throws MessagingException
このフォルダに関連した UIDValidity 値を返します。

一般にクライアントは、この値を、前のセッションで保存された UIDValidity 値と比較し、 キャッシュされた UID がすべて有効である事を確認します。

戻り値:
UIDValidity
例外:
MessagingException

getMessageByUID

Message getMessageByUID(long uid)
                        throws MessagingException
指定された UID に対応する Message を取得します。 該当するメッセージが存在しない場合は、null が返されます。

パラメータ:
uid - 希望するメッセージの UID
戻り値:
Message オブジェクトです。 この UID に対応するメッセージが取得されない場合は、null が返されます。
例外:
MessagingException

getMessagesByUID

Message[] getMessagesByUID(long start,
                           long end)
                           throws MessagingException
範囲が指定された Message を取得します。 特殊な値 LASTUID は、使用可能な最後の UID を示す end パラメータとして使用可能です。

パラメータ:
start - 開始 UID
end - 終了 UID
戻り値:
Message オブジェクトの配列
例外:
MessagingException
関連項目:
LASTUID

getMessagesByUID

Message[] getMessagesByUID(long[] uids)
                           throws MessagingException
UID の配列により指定された Message を取得します。 いずれかの UID が無効な場合、そのエントリについて null が返されます。

返される配列のサイズは、指定された UID の配列のサイズと同じになります。 又、無効な UID を示す為に、null エントリが配列中に存在する場合があります。

パラメータ:
uids - UID の配列
戻り値:
Message オブジェクトの配列
例外:
MessagingException

getUID

long getUID(Message message)
            throws MessagingException
指定されたメッセージの UID を取得します。 メッセージはこのフォルダに属している必要があります。 そうでない場合は、java.util.NoSuchElementException がスローされます。

パラメータ:
message - このフォルダからのメッセージ
戻り値:
このメッセージの UID
例外:
NoSuchElementException - 指定された Message がこの Folder 中にない場合
MessagingException