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

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

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      MessagegetMessageByUID​(long uid)
      指定された UID に対応するメッセージを取得します。
      Message[]getMessagesByUID​(long[] uids)
      指定された UID の配列で指定されたメッセージを取得します。
      Message[]getMessagesByUID​(long start, long end)
      指定された範囲で指定されたメッセージを取得します。
      longgetUID​(Message message)
      指定されたメッセージの UID を取得します。
      longgetUIDNext()
      このフォルダーに追加される次のメッセージに割り当てられる予測 UID を返します。
      longgetUIDValidity()
      このフォルダーに関連付けられている UIDValidity 値を返します。
    • フィールドの詳細

      • LASTUID

        static final long LASTUID
        これは getMessagesByUID(start, end) の end パラメーターとして使用できる特別な値で、フォルダー内の最後のメッセージの UID を示します。
        関連事項:
        getMessagesByUID(long, long), 定数フィールド値
      • 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 - 失敗
        関連事項:
        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