public interface UIDFolder
UIDFolder
インターフェースは、フォルダー内のメッセージに固有の ID を提供することにより、「切断」操作モードをサポートできるフォルダーによって実装されます。このインターフェースは、切断された操作をサポートするための IMAP モデルに基づいています。一意の識別子(UID)は、特定のフォルダー内の各メッセージに割り当てられる正の long 値です。一意の識別子は、メールボックス内で厳密に昇順で割り当てられます。つまり、各メッセージがメールボックスに追加されると、以前に追加されたメッセージよりも高い UID が割り当てられます。一意の識別子はセッション間で保持されます。これにより、クライアントは以前のセッションとサーバーの状態を再同期できます。
すべてのメールボックスには、一意の識別子の有効性の値が関連付けられています。以前のセッションの一意の識別子がこのセッションに保持されない場合、一意の識別子の有効性の値は、以前のセッションで使用されたものよりも大きくなければなりません。
詳細については、RFC 2060 を参照してください。デフォルトの IMAP プロバイダーによって返されるすべての Folder オブジェクトは、UIDFolder インターフェースを実装します。次のように使用します。
Folder f = store.getFolder("whatever"); UIDFolder uf = (UIDFolder)f; long uid = uf.getUID(msg);
修飾子と型 | インターフェースと説明 |
---|---|
static class | UIDFolder.FetchProfileItem UID をフェッチするためのフェッチプロファイル項目。 |
修飾子と型 | フィールドと説明 |
---|---|
static long | LASTUID これは getMessagesByUID(start, end) の end パラメーターとして使用できる特別な値で、フォルダー内の最後のメッセージの UID を示します。 |
static long | MAXUID UID の可能な最大値、32 ビットの符号なし整数。 |
修飾子と型 | メソッドと説明 |
---|---|
Message | getMessageByUID(long uid) 指定された UID に対応するメッセージを取得します。 |
Message[] | getMessagesByUID(long[] uids) 指定された UID の配列で指定されたメッセージを取得します。 |
Message[] | getMessagesByUID(long start, long end) 指定された範囲で指定されたメッセージを取得します。 |
long | getUID(Message message) 指定されたメッセージの UID を取得します。 |
long | getUIDNext() このフォルダーに追加される次のメッセージに割り当てられる予測 UID を返します。 |
long | getUIDValidity() このフォルダーに関連付けられている UIDValidity 値を返します。 |
static final long LASTUID
getMessagesByUID(start, end)
の end
パラメーターとして使用できる特別な値で、フォルダー内の最後のメッセージの UID を示します。static final long MAXUID
Folder f = store.getFolder("whatever"); UIDFolder uf = (UIDFolder)f; Message[] newMsgs = uf.getMessagesByUID(lastSeenUID + 1, UIDFolder.MAXUID);
long getUIDValidity() throws MessagingException
クライアントは通常、この値を前のセッションから保存された UIDValidity 値と比較して、キャッシュされた UID が古くないことを確認します。
MessagingException
- 失敗 Message getMessageByUID(long uid) throws MessagingException
null
が返されます。uid
- 目的のメッセージの UIDnull
が返されます。MessagingException
- 失敗 Message[] getMessagesByUID(long start, long end) throws MessagingException
end
パラメーターに特別な値 LASTUID を使用して、フォルダー内の最後のメッセージの UID を示すことができます。end
が start
より大きい必要はないことに注意してください。範囲の順序は関係ありません。また、フォルダーが空でない限り、LASTUID を使用すると、少なくとも 1 つのメッセージ(フォルダー内の最後のメッセージ)が確実に返されます。
start
- 開始 UIDend
- 終了 UIDMessagingException
- 失敗 LASTUID
Message[] getMessagesByUID(long[] uids) throws MessagingException
null
が返されます。 返される配列は、指定された UID の配列と同じサイズであり、null
エントリが配列に存在して無効な UID を示す場合があることに注意してください。
uids
- UID の配列 MessagingException
- 失敗 long getUID(Message message) throws MessagingException
message
- このフォルダーからのメッセージ NoSuchElementExceptionSE
- 指定されたメッセージがこのフォルダーにない場合。MessagingException
- その他の障害の場合 long getUIDNext() throws MessagingException
値が不明な場合は、-1 が返されます。
MessagingException
- 失敗 Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.