パッケージ 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
    UID をフェッチするためのフェッチプロファイル項目。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final long
    これは getMessagesByUID(start, end) の end パラメーターとして使用できる特別な値で、フォルダー内の最後のメッセージの UID を示します。
    static final long
    UID の可能な最大値、32 ビットの符号なし整数。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    getMessageByUID(long uid)
    指定された UID に対応するメッセージを取得します。
    getMessagesByUID(long[] uids)
    指定された UID の配列で指定されたメッセージを取得します。
    getMessagesByUID(long start, long end)
    指定された範囲で指定されたメッセージを取得します。
    long
    getUID(Message message)
    指定されたメッセージの UID を取得します。
    long
    このフォルダーに追加される次のメッセージに割り当てられる予測 UID を返します。
    long
    このフォルダーに関連付けられている 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 - 開始 UID
      end - 終了 UID
      戻り値:
      メッセージオブジェクトの配列
      例外:
      MessagingException - 失敗
      関連事項:
    • 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