パッケージ jakarta.mail
インターフェース UIDFolder
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);
- 作成者:
- Bill Shannon, John Mani
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インターフェース 説明 static class
UIDFolder.FetchProfileItem
UID をフェッチするためのフェッチプロファイル項目。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 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 値を返します。
フィールドの詳細
LASTUID
static final long LASTUID
これはgetMessagesByUID(start, end)
のend
パラメーターとして使用できる特別な値で、フォルダー内の最後のメッセージの UID を示します。
MAXUID
static final long MAXUID
UID に可能な最大値、32 ビットの符号なし整数。これは、最後に表示された UID を追跡し、以下を使用して、すべての新しいメッセージをフェッチするために使用できます。Folder f = store.getFolder("whatever"); UIDFolder uf = (UIDFolder)f; Message[] newMsgs = uf.getMessagesByUID(lastSeenUID + 1, UIDFolder.MAXUID);
- 導入:
- JavaMail 1.6
- 関連事項:
- 定数フィールド値
メソッドの詳細
getUIDValidity
long getUIDValidity() throws MessagingException
このフォルダーに関連付けられている UIDValidity 値を返します。クライアントは通常、この値を前のセッションから保存された UIDValidity 値と比較して、キャッシュされた UID が古くないことを確認します。
- 戻り値:
- UIDValidity
- 例外:
MessagingException
- 失敗
getMessageByUID
Message getMessageByUID(long uid) throws MessagingException
指定された UID に対応するメッセージを取得します。そのようなメッセージが存在しない場合、null
が返されます。- パラメーター:
uid
- 目的のメッセージの UID- 戻り値:
- Message オブジェクト。この UID に対応するメッセージが取得されない場合、
null
が返されます。 - 例外:
MessagingException
- 失敗
getMessagesByUID
Message[] getMessagesByUID(long start, long end) throws MessagingException
指定された範囲で指定されたメッセージを取得します。end
パラメーターに特別な値 LASTUID を使用して、フォルダー内の最後のメッセージの UID を示すことができます。end
がstart
より大きい必要はないことに注意してください。範囲の順序は関係ありません。また、フォルダーが空でない限り、LASTUID を使用すると、少なくとも 1 つのメッセージ(フォルダー内の最後のメッセージ)が確実に返されます。- パラメーター:
start
- 開始 UIDend
- 終了 UID- 戻り値:
- メッセージオブジェクトの配列
- 例外:
MessagingException
- 失敗- 関連事項:
LASTUID
getMessagesByUID
Message[] getMessagesByUID(long[] uids) throws MessagingException
指定された UID の配列で指定されたメッセージを取得します。無効な UID がある場合、そのエントリに対してnull
が返されます。返される配列は、指定された UID の配列と同じサイズであり、
null
エントリが配列に存在して無効な UID を示す場合があることに注意してください。- パラメーター:
uids
- UID の配列- 戻り値:
- メッセージオブジェクトの配列
- 例外:
MessagingException
- 失敗
getUID
long getUID(Message message) throws MessagingException
指定されたメッセージの UID を取得します。メッセージ はこのフォルダーに属している必要があることに注意してください。それ以外の場合、java.util.NoSuchElementException がスローされます。- パラメーター:
message
- このフォルダーからのメッセージ- 戻り値:
- このメッセージの UID
- 例外:
NoSuchElementExceptionSE
- 指定されたメッセージがこのフォルダーにない場合。MessagingException
- その他の障害の場合
getUIDNext
long getUIDNext() throws MessagingException
このフォルダーに追加される次のメッセージに割り当てられる予測 UID を返します。この値が取得された後にメッセージがフォルダーに追加され、この値が古くなる可能性があります。この値は、フォルダーが最初に開かれたときにのみ更新される可能性があります。フォルダーが開いているときにメッセージがフォルダーに追加されている可能性があるため、この値は古くなっている可能性があります。値が不明な場合は、-1 が返されます。
- 戻り値:
- UIDNEXT 値。不明の場合は -1
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.6