パッケージ jakarta.mail

クラス Folder

  • 実装されたすべてのインターフェース:
    AutoCloseableSE

    public abstract class Folder
    extends ObjectSE
    implements AutoCloseableSE
    Folder は、メールメッセージのフォルダーを表す抽象クラスです。サブクラスはプロトコル固有のフォルダーを実装します。

    フォルダーにはメッセージ、他のフォルダー、その両方を含めることができるため、ストアのデフォルトフォルダーをルートとするツリーのような階層が提供されます。(一部のフォルダー実装では、同じフォルダー内のメッセージと他のフォルダーの両方が許可されない場合があることに注意してください)。

    フォルダー名の解釈は実装に依存します。フォルダーのフルネーム内の階層のさまざまなレベルは、階層区切り文字によって互いに分離されています。

    大文字と小文字を区別しない完全なフォルダー名(つまり、ストアのデフォルトフォルダーに対する相対名) INBOX は、「このサーバー上のこのユーザーのプライマリフォルダー」を意味するように予約されています。すべてのストアが INBOX フォルダーを提供するわけではなく、すべてのユーザーが常に INBOX フォルダーを持つわけではありません。INBOX という名前は、このフォルダーが存在する場合、それを提供するストアでこのフォルダーを参照するために予約されています。

    Store から取得した Folder オブジェクトは、実際にバックエンドストアに存在する必要はありません。exists メソッドは、フォルダーが存在するかどうかをテストします。create メソッドはフォルダーを作成します。

    フォルダーは最初は閉じた状態です。この状態では、特定のメソッドが有効です。これらのメソッドのドキュメントはこれに注意しています。フォルダーは、その "open" メソッドを呼び出すことによって開かれます。opendeleterenameTo を除くすべてのフォルダーメソッドは、この状態で有効です。

    フォルダーを取得する唯一の方法は、ストア、フォルダー、セッションで getFolder メソッドを呼び出すか、フォルダーで list または listSubscribed メソッドを呼び出すことです。上記のメソッドによって返されたフォルダーオブジェクトは、ストアによってキャッシュされません。同じフォルダー名で getFolder メソッドを複数回呼び出すと、異なる Folder オブジェクトが返されます。list および listSubscribed メソッドについても同様です。

    フォルダー内のメッセージオブジェクトは、フォルダーによってキャッシュされます。同じメッセージ番号で getMessage(msgno) を複数回呼び出すと、このフォルダーで消去が完了するまで、同じメッセージオブジェクトが返されます。

    フォルダーからのメッセージオブジェクトは、フォルダーが開いている間のみ有効であり、フォルダーが後で再度開かれた場合でも、フォルダーが閉じられた後はアクセスできません。代わりに、新しいメッセージオブジェクトは、フォルダーが再度開かれた後にフォルダーからフェッチされる必要があります。

    含まれているフォルダーが expunge メソッドを使用して消去される場合、メッセージのメッセージ番号はセッション内で変更される可能性があることに注意してください。メッセージへの参照としてメッセージ番号を使用するクライアントは、これを認識している必要があり、(おそらく既存のメッセージ番号参照をフラッシュして再ロードすることによって)この状況に対処する準備をする必要があります。この複雑さのため、クライアントはメッセージ番号ではなくメッセージへの参照としてメッセージオブジェクトを使用する方が適切です。消去されたメッセージオブジェクトは引き続き整理する必要がありますが、そのフォルダー内の他のメッセージオブジェクトは消去の影響を受けません。

    作成者:
    John Mani, Bill Shannon
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static intHOLDS_FOLDERS
      このフォルダーには他のフォルダーを含めることができます
      static intHOLDS_MESSAGES
      このフォルダーにはメッセージを含めることができます
      protected intmode
      このフォルダーのオープンモード。
      static intREAD_ONLY
      フォルダーは読み取り専用です。
      static intREAD_WRITE
      このフォルダーの状態と内容は変更できます。
      protected Storestore
      親ストア。
    • コンストラクターのサマリー

      コンストラクター  
      修飾子 コンストラクター 説明
      protected Folder​(Store store)
      Store オブジェクトを受け取るコンストラクター。
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド   具象メソッド  
      修飾子と型 メソッド 説明
      voidaddConnectionListener​(ConnectionListener l)
      このフォルダーに接続イベントのリスナーを追加します。
      voidaddFolderListener​(FolderListener l)
      この Folder に Folder イベントのリスナーを追加します。
      voidaddMessageChangedListener​(MessageChangedListener l)
      このフォルダーに MessageChanged イベントのリスナーを追加します。
      voidaddMessageCountListener​(MessageCountListener l)
      このフォルダーに MessageCount イベントのリスナーを追加します。
      abstract voidappendMessages​(Message[] msgs)
      指定されたメッセージをこのフォルダーに追加します。
      voidclose()
      このフォルダーを閉じて、削除されたメッセージを消去します。
      abstract voidclose​(boolean expunge)
      このフォルダーを閉じます。
      voidcopyMessages​(Message[] msgs, Folder folder)
      指定されたメッセージをこのフォルダーから別のフォルダーにコピーします。
      abstract booleancreate​(int type)
      ストアにこのフォルダーを作成します。
      abstract booleandelete​(boolean recurse)
      このフォルダーを削除しますか。
      abstract booleanexists()
      このフォルダーがストアに物理的に存在するかどうかをテストします。
      abstract Message[]expunge()
      削除済みとマークされたメッセージを完全に削除します。
      voidfetch​(Message[] msgs, FetchProfile fp)
      特定のメッセージの FetchProfile で指定されたアイテムをプリフェッチします。
      protected voidfinalize()
      intgetDeletedMessageCount()
      このフォルダーで削除されたメッセージの数を取得します。
      abstract FoldergetFolder​(StringSE name)
      指定された名前に対応する Folder オブジェクトを返します。
      abstract StringSEgetFullName()
      このフォルダーのフルネームを返します。
      abstract MessagegetMessage​(int msgnum)
      指定されたメッセージ番号に対応する Message オブジェクトを取得します。
      abstract intgetMessageCount()
      このフォルダー内のメッセージの総数を取得します。
      Message[]getMessages()
      このフォルダーからすべてのメッセージオブジェクトを取得します。
      Message[]getMessages​(int[] msgnums)
      配列で指定されたメッセージ番号の Message オブジェクトを取得します。
      Message[]getMessages​(int start, int end)
      開始から終了まで、開始と終了の両方を含むメッセージ番号の Message オブジェクトを取得します。
      intgetMode()
      このフォルダーのオープンモードを返します。
      abstract StringSEgetName()
      このフォルダーの名前を返します。
      intgetNewMessageCount()
      このフォルダー内の新しいメッセージの数を取得します。
      abstract FoldergetParent()
      このフォルダーの親フォルダーを返します。
      abstract FlagsgetPermanentFlags()
      このフォルダーでサポートされている永続的なフラグを取得します。
      abstract chargetSeparator()
      このフォルダーのパス名と直接のサブフォルダーの名前を区切る区切り文字を返します。
      StoregetStore()
      この Folder オブジェクトを所有する Store を返します。
      abstract intgetType()
      このフォルダーの型、つまりこのフォルダーがメッセージまたはサブフォルダー、あるいはその両方を保持できるかどうかを返します。
      intgetUnreadMessageCount()
      このフォルダー内の未読メッセージの総数を取得します。
      URLNamegetURLName()
      このフォルダーを表す URLName を返します。
      abstract booleanhasNewMessages()
      この表示が最後にリセットされてからこのフォルダーに新しいメッセージがある場合は true を返します。
      abstract booleanisOpen()
      このフォルダーが「開いている」状態かどうかを示します。
      booleanisSubscribed()
      このフォルダーがサブスクライブされている場合は true を返します。
      Folder[]list()
      この Folder のフォルダーのリストを返す簡易メソッド。
      abstract Folder[]list​(StringSE pattern)
      指定されたパターンに一致する、このフォルダーの名前空間に属するフォルダーのリストを返します。
      Folder[]listSubscribed()
      この Folder にあるサブスクライブされたフォルダーのリストを返す簡易メソッド。
      Folder[]listSubscribed​(StringSE pattern)
      指定されたパターンに一致する、このフォルダーの名前空間に属するサブスクライブされたフォルダーのリストを返します。
      protected voidnotifyConnectionListeners​(int type)
      すべての ConnectionListeners に通知します。
      protected voidnotifyFolderListeners​(int type)
      このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に通知します。
      protected voidnotifyFolderRenamedListeners​(Folder folder)
      このフォルダーおよびこのフォルダーのストアに登録されているすべての FolderListeners に、このフォルダーの名前変更について通知します。
      protected voidnotifyMessageAddedListeners​(Message[] msgs)
      このフォルダーへのメッセージの追加についてすべての MessageCountListeners に通知します。
      protected voidnotifyMessageChangedListeners​(int type, Message msg)
      すべての MessageChangedListeners に通知します。
      protected voidnotifyMessageRemovedListeners​(boolean removed, Message[] msgs)
      このフォルダーからのメッセージの削除についてすべての MessageCountListeners に通知します。
      abstract voidopen​(int mode)
      このフォルダーを開きます。
      voidremoveConnectionListener​(ConnectionListener l)
      Connection イベントリスナーを削除します。
      voidremoveFolderListener​(FolderListener l)
      Folder イベントリスナーを削除します。
      voidremoveMessageChangedListener​(MessageChangedListener l)
      MessageChanged リスナーを削除します。
      voidremoveMessageCountListener​(MessageCountListener l)
      MessageCount リスナーを削除します。
      abstract booleanrenameTo​(Folder f)
      このフォルダーの名前を変更します。
      Message[]search​(SearchTerm term)
      このフォルダーで、指定した検索条件に一致するメッセージを検索します。
      Message[]search​(SearchTerm term, Message[] msgs)
      指定された検索条件に一致するメッセージがないか、指定されたメッセージの配列を検索します。
      voidsetFlags​(int[] msgnums, Flags flag, boolean value)
      メッセージ番号が配列にあるメッセージに指定されたフラグを設定します。
      voidsetFlags​(int start, int end, Flags flag, boolean value)
      開始から終了まで、開始から終了までの番号が付けられたメッセージに、指定されたフラグを設定します。
      voidsetFlags​(Message[] msgs, Flags flag, boolean value)
      配列で指定されたメッセージに指定されたフラグを設定します。
      voidsetSubscribed​(boolean subscribe)
      このフォルダーを購読または購読解除します。
      StringSEtoString()
      デフォルトの toString() をオーバーライドすると、Folder.getFullName() から文字列が返されます。それが null の場合は、デフォルトの toString() の動作が使用されます。
    • フィールドの詳細

      • store

        protected Store store
        親ストア。
      • mode

        protected int mode
        このフォルダーのオープンモード。オープンモードは、Folder.READ_ONLYFolder.READ_WRITE、不明な場合は -1 です。
        導入:
        JavaMail 1.1
      • HOLDS_MESSAGES

        public static final int HOLDS_MESSAGES
        このフォルダーにはメッセージを含めることができます
        関連事項:
        定数フィールド値
      • HOLDS_FOLDERS

        public static final int HOLDS_FOLDERS
        このフォルダーには他のフォルダーを含めることができます
        関連事項:
        定数フィールド値
      • READ_ONLY

        public static final int READ_ONLY
        フォルダーは読み取り専用です。このフォルダーの状態と内容は変更できません。
        関連事項:
        定数フィールド値
      • READ_WRITE

        public static final int READ_WRITE
        このフォルダーの状態と内容は変更できます。
        関連事項:
        定数フィールド値
    • コンストラクターの詳細

      • Folder

        protected Folder​(Store store)
        Store オブジェクトを受け取るコンストラクター。
        パラメーター:
        store - このフォルダーを保持するストア
    • メソッドの詳細

      • getName

        public abstract StringSE getName()
        このフォルダーの名前を返します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        戻り値:
        フォルダーの名前
      • getFullName

        public abstract StringSE getFullName()
        このフォルダーの完全な名前を返します。フォルダーがこのストアのルート階層にある場合、返される名前はルートを基準にしています。それ以外の場合は、階層区切り文字で始まる絶対名が返されます。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        戻り値:
        フォルダーのフルネーム
      • getURLName

        public URLName getURLName()
                           throws MessagingException
        このフォルダーを表す URLName を返します。返された URLName には、ストアへのアクセスに使用されるパスワード含まれていませ
        戻り値:
        このフォルダーを表す URLName
        例外:
        MessagingException - 失敗
        導入:
        JavaMail 1.1
        関連事項:
        URLName
      • getStore

        public Store getStore()
        この Folder オブジェクトを所有する Store を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        ストア
      • getParent

        public abstract Folder getParent()
                                  throws MessagingException
        このフォルダーの親フォルダーを返します。このメソッドは、閉じたフォルダーで呼び出すことができます。このフォルダーがフォルダー階層の最上位の場合、このメソッドは null を返します。

        Folder オブジェクトはキャッシュされないため、このメソッドを呼び出すと、新しい別個の Folder オブジェクトが返されることに注意してください。

        戻り値:
        親フォルダー
        例外:
        MessagingException - 失敗
      • exists

        public abstract boolean exists()
                                throws MessagingException
        このフォルダーがストアに物理的に存在するかどうかをテストします。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        フォルダーが存在する場合は true、それ以外の場合は false
        例外:
        MessagingException - 通常、サーバーへの接続が失われた場合。
        関連事項:
        create(int)
      • list

        public abstract Folder[] list​(StringSE pattern)
                               throws MessagingException
        このフォルダーの名前空間に属し、指定したパターンに一致するフォルダーのリストを返します。パターンには、階層区切り文字を除くすべての文字と一致するワイルドカード文字 "%" と、任意の文字と一致する "*" を含めることができます。

        例として、フォルダー階層が与えられた場合:

            Personal/
               Finance/
                  Stocks
                  Bonus
                  StockOptions
               Jokes
         
        "Personal" の list("*") は、階層全体を返します。
        "Personal" の list("%") は "Finance" と "Jokes" を返します。
        "Personal" の list("Jokes") は "Jokes" を返します。
        "Finance" で list("Stock*") を実行すると、"Stocks" と "StockOptions" が返されます。

        Folder オブジェクトは Store によってキャッシュされないため、同じパターンでこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        パラメーター:
        pattern - マッチパターン
        戻り値:
        一致する Folder オブジェクトの配列。一致するフォルダーが存在しない場合は、空の配列が返されます。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
        関連事項:
        listSubscribed(java.lang.String)
      • listSubscribed

        public Folder[] listSubscribed​(StringSE pattern)
                                throws MessagingException
        このフォルダーの名前空間に属し、指定されたパターンに一致するサブスクライブされたフォルダーのリストを返します。フォルダーがサブスクリプションをサポートしていない場合、このメソッドは list に解決されます。(ここで提供されるデフォルトの実装はこれを行います)。list の場合と同様に、パターンにはワイルドカードを含めることができます。

        フォルダー階層の特定のレベルでは、特定のフォルダーはサブスクライブされない場合がありますが、フォルダー階層内のそのフォルダーにあるフォルダーはサブスクライブされる場合があります。フォルダー階層をたどることを可能にするために、そのようなサブスクライブされていないフォルダーが返され、階層のフォルダーがサブスクライブされていることを示します。フォルダーの isSubscribed メソッドは、特定のフォルダーが実際にサブスクライブされているかどうかを通知します。

        Folder オブジェクトは Store によってキャッシュされないため、同じパターンでこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        パラメーター:
        pattern - マッチパターン
        戻り値:
        一致するサブスクライブされた Folder オブジェクトの配列。一致するサブスクライブ済みフォルダーが存在しない場合は、空の配列が返されます。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
        関連事項:
        list(java.lang.String)
      • list

        public Folder[] list()
                      throws MessagingException
        この Folder にあるフォルダーのリストを返す簡易メソッド。このメソッドは、"%" を一致パターンとして使用して、list(String pattern) メソッドを呼び出すだけです。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        この Folder の Folder オブジェクトの配列。サブフォルダーが存在しない場合は、空の配列が返されます。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
        関連事項:
        list(java.lang.String)
      • listSubscribed

        public Folder[] listSubscribed()
                                throws MessagingException
        この Folder のサブスクライブされたフォルダーのリストを返す簡易メソッド。このメソッドは、"%" を一致パターンとして使用して、listSubscribed(String pattern) メソッドを呼び出すだけです。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        この Folder のサブスクライブされた Folder オブジェクトの配列。サブスクライブされたサブフォルダーが存在しない場合は、空の配列が返されます。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
        関連事項:
        listSubscribed(java.lang.String)
      • getSeparator

        public abstract char getSeparator()
                                   throws MessagingException
        このフォルダーのパス名と直接のサブフォルダーの名前を区切る区切り文字を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        階層区切り文字
        例外:
        FolderNotFoundException - 実装にフォルダーの存在が必要だが、そうではない場合
        MessagingException
      • getType

        public abstract int getType()
                             throws MessagingException
        このフォルダーの型、つまりこのフォルダーがメッセージまたはサブフォルダー、あるいはその両方を保持できるかどうかを返します。戻り値は、適切なビットが設定された整数ビットフィールドです。このメソッドは、閉じたフォルダーで呼び出すことができます。
        戻り値:
        適切なビットが設定された整数
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException
        関連事項:
        HOLDS_FOLDERS, HOLDS_MESSAGES
      • create

        public abstract boolean create​(int type)
                                throws MessagingException
        ストアにこのフォルダーを作成します。このフォルダーが作成されると、そのパスに存在しないフォルダーも作成されます。

        作成が成功した場合、CREATED FolderEvent は、このフォルダーとこのストアに登録されているすべての FolderListeners に配信されます。

        パラメーター:
        type - このフォルダーの型。
        戻り値:
        作成が成功した場合は true、それ以外の場合は false。
        例外:
        MessagingException - 失敗
        関連事項:
        HOLDS_FOLDERS, HOLDS_MESSAGES, FolderEvent
      • isSubscribed

        public boolean isSubscribed()
        このフォルダーがサブスクライブされている場合は true を返します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        ここで提供されるデフォルトの実装は true を返すだけです。

        戻り値:
        このフォルダーが購読されている場合は true
      • setSubscribed

        public void setSubscribed​(boolean subscribe)
                           throws MessagingException
        このフォルダーを購読または購読解除します。すべてのストアがサブスクリプションをサポートしているわけではありません。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        ここで提供される実装は、MethodNotSupportedException をスローするだけです。

        パラメーター:
        subscribe - サブスクライブする場合は true、サブスクライブしない場合は false
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MethodNotSupportedException - このストアがサブスクリプションをサポートしていない場合
        MessagingException - その他の障害の場合
      • hasNewMessages

        public abstract boolean hasNewMessages()
                                        throws MessagingException
        この表示が最後にリセットされてからこのフォルダーに新しいメッセージがある場合は true を返します。この表示が設定またはリセットされるタイミングは、フォルダーの実装によって異なります(IMAP の場合はサーバーによって異なります)。このメソッドを使用すると、フォルダーを開かずに軽量の「新着メールのチェック」操作をフォルダーに実装できます。(例: メールボックスを監視し、新しいメールがあるときにフラグを立てるスレッド)このメソッドは、フォルダー内のメッセージに RECENT フラグが設定されているかどうかを示す必要があります。

        これは新しいメールの増分チェックではないことに注意してください。つまり、このメソッドが最後に呼び出されてから新しいメッセージが到着したかどうかを判断するために使用することはできません。インクリメンタルチェックを実装するには、フォルダーを開く必要があります。

        このメソッドは、メッセージを含めることができる閉じたフォルダーで呼び出すことができます。

        戻り値:
        ストアに新しいメッセージがある場合は true
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
      • getFolder

        public abstract Folder getFolder​(StringSE name)
                                  throws MessagingException
        指定された名前に対応する Folder オブジェクトを返します。このフォルダーは、物理的にストアに存在する必要はありません。フォルダーの exists() メソッドは、それが実際にストアに存在するかどうかを示します。

        一部のストアでは、階層区切り文字で始まる場合、名前は絶対パスにすることができます。それ以外の場合は、このフォルダーに関連して解釈されます。

        Folder オブジェクトは Store によってキャッシュされないため、同じ名前でこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。

        このメソッドは、閉じたフォルダーで呼び出すことができます。

        パラメーター:
        name - フォルダーの名前
        戻り値:
        フォルダーオブジェクト
        例外:
        MessagingException - 失敗
      • delete

        public abstract boolean delete​(boolean recurse)
                                throws MessagingException
        このフォルダーを削除します。このメソッドは、閉じたフォルダーでのみ成功します。

        recurse フラグは、削除がサブフォルダーに影響するかどうかを制御します。true の場合、すべてのサブフォルダーが削除され、このフォルダー自体が削除されます。false の場合、動作はフォルダー型に依存し、以下で詳しく説明します。

        • フォルダーにはメッセージのみを含めることができます(型 == HOLDS_MESSAGES)。
          フォルダー内のすべてのメッセージが削除されます。その後、フォルダー自体が削除されます。適切な FolderEvent がストアとこのフォルダーによって生成されます。
        • フォルダーにはサブフォルダーのみを含めることができます(型 == HOLDS_FOLDERS)。
          このフォルダーが空の場合(サブフォルダーがまったく含まれていない場合)、削除されます。適切な FolderEvent がストアとこのフォルダーによって生成されます。
          このフォルダーにサブフォルダーが含まれている場合、削除は失敗し、false が返されます。
        • フォルダーには、サブフォルダーとメッセージを含めることができます。
          フォルダーが空の場合(メッセージやサブフォルダーがない場合)、そのフォルダーは削除されます。フォルダーにサブフォルダーがなく、メッセージのみが含まれている場合、すべてのメッセージが削除されます。その後、フォルダー自体が削除されます。上記のどちらの場合でも、適切な FolderEvent がストアとこのフォルダーによって生成されます。

          フォルダーにサブフォルダーが含まれている場合、3 つの選択肢があり、実装は自由です。

          1. このフォルダーにメッセージが含まれているかどうかに関係なく、操作は失敗します。一部の実装では、この単純なアプローチを採用することがあります。delete() メソッドは false を返します。
          2. フォルダー内のメッセージはすべて削除されます。サブフォルダーは削除されません。フォルダー自体が削除されたり、影響を受けることはありません。delete() メソッドは true を返します。そして、このフォルダーの exists() メソッドは、このフォルダーがまだ存在することを示す true を返します。
            適切な FolderEvent がストアとこのフォルダーによって生成されます。
          3. フォルダー内のメッセージはすべて削除されます。サブフォルダーは削除されません。フォルダー自体の型が HOLDS_FOLDERS から変更されます。HOLDS_MESSAGES 〜 HOLDS_FOLDERS。このフォルダーに新しいメッセージを追加することはできませんが、そに新しいサブフォルダーを作成できます。delete() メソッドは、成功を示す true を返します。このフォルダーの exists() メソッドは、このフォルダーがまだ存在することを示す true を返します。
            適切な FolderEvent がストアとこのフォルダーによって生成されます。
        パラメーター:
        recurse - サブフォルダーも削除しますか?
        戻り値:
        フォルダーが正常に削除された場合は true
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合
        IllegalStateExceptionSE - このフォルダーが閉じた状態でない場合。
        MessagingException - その他の障害の場合
        関連事項:
        FolderEvent
      • renameTo

        public abstract boolean renameTo​(Folder f)
                                  throws MessagingException
        このフォルダーの名前を変更します。このメソッドは、閉じたフォルダーでのみ成功します。

        名前の変更が成功した場合、名前が変更された FolderEvent が、このフォルダーとその格納ストアに登録されている FolderListeners に配信されます。

        パラメーター:
        f - このフォルダーの新しい名前を表すフォルダー
        戻り値:
        フォルダーの名前が正常に変更された場合は true
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合
        IllegalStateExceptionSE - このフォルダーが閉じた状態でない場合。
        MessagingException - その他の障害の場合
        関連事項:
        FolderEvent
      • open

        public abstract void open​(int mode)
                           throws MessagingException
        このフォルダーを開きます。このメソッドは、メッセージを含めることができ、閉じられているフォルダーでのみ有効です。

        このフォルダーが正常に開かれると、OPENED ConnectionEvent がこのフォルダーに登録されている ConnectionListeners に配信されます。

        特定のストアの同じフォルダーへの複数の接続を開くことの影響は、実装に依存します。一部の実装では複数のリーダーが許可されていますが、ライターは 1 つだけです。他のユーザーは、複数のライターとリーダーを許可します。

        パラメーター:
        mode - READ_ONLY または READ_WRITE フォルダーを開きます
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが閉じた状態でない場合。
        MessagingException - その他の障害の場合
        関連事項:
        READ_ONLY, READ_WRITE, getType(), ConnectionEvent
      • close

        public abstract void close​(boolean expunge)
                            throws MessagingException
        このフォルダーを閉じます。このメソッドは、開いているフォルダーでのみ有効です。

        CLOSED ConnectionEvent は、このフォルダーに登録されている ConnectionListeners に配信されます。このメソッドが MessagingException をスローすることによって異常終了した場合でも、フォルダーは閉じられていることに注意してください。

        パラメーター:
        expunge - このフラグが true の場合、削除されたすべてのメッセージを消去します
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        MessagingException - その他の障害の場合
        関連事項:
        ConnectionEvent
      • close

        public void close()
                   throws MessagingException
        このフォルダーを閉じて、削除されたメッセージを消去します。

        CLOSED ConnectionEvent は、このフォルダーに登録されている ConnectionListeners に配信されます。このメソッドが MessagingException をスローすることによって異常終了した場合でも、フォルダーは閉じられていることに注意してください。

        このメソッドは、AutoCloseableSE インターフェースをサポートします。

        この実装は close(true) を呼び出します。

        次で指定:
        インターフェース AutoCloseableSEclose 
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        MessagingException - その他の障害の場合
        導入:
        JavaMail 1.6
        関連事項:
        ConnectionEvent
      • isOpen

        public abstract boolean isOpen()
        このフォルダーが「開いている」状態かどうかを示します。
        戻り値:
        このフォルダーが「オープン」状態の場合は true。
      • getMode

        public int getMode()
        このフォルダーのオープンモードに戻ります。オープンモードが不明な場合は、Folder.READ_ONLYFolder.READ_WRITE、-1 を返します(通常、古い Folder プロバイダーがこの新しいメソッドを使用するように更新されていないためのみ)。
        戻り値:
        このフォルダーのオープンモード
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        導入:
        JavaMail 1.1
      • getPermanentFlags

        public abstract Flags getPermanentFlags()
        このフォルダーでサポートされている永続的なフラグを取得します。サポートされているすべてのフラグを含む Flags オブジェクトを返します。

        特別なフラグ Flags.Flag.USER  は、このフォルダーが任意のユーザー定義フラグをサポートすることを示します。

        フォルダーがサポートされる永続的なフラグは、フォルダーが開かれるまで使用できない場合があります。

        戻り値:
        永続的なフラグ。不明な場合は null
      • getMessageCount

        public abstract int getMessageCount()
                                     throws MessagingException
        このフォルダー内のメッセージの総数を取得します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、合計メッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる可能性があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。

        閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。

        戻り値:
        メッセージの総数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
      • getNewMessageCount

        public int getNewMessageCount()
                               throws MessagingException
        このフォルダー内の新しいメッセージの数を取得します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、新しいメッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる場合があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。

        閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。

        この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は getMessage(int) を使用してフォルダー内の各メッセージを取得し、その RECENT フラグが設定されているかどうかを確認します。このフラグが設定されているメッセージの総数が返されます。

        戻り値:
        新しいメッセージの数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
      • getUnreadMessageCount

        public int getUnreadMessageCount()
                                  throws MessagingException
        このフォルダー内の未読メッセージの総数を取得します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、未読メッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる可能性があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。

        閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。

        この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は getMessage(int) を使用してフォルダー内の各メッセージを取得し、その SEEN フラグが設定されているかどうかを確認します。このフラグが設定されていないメッセージの総数が返されます。

        戻り値:
        未読メッセージの総数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
      • getDeletedMessageCount

        public int getDeletedMessageCount()
                                   throws MessagingException
        このフォルダーで削除されたメッセージの数を取得します。

        このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、削除されたメッセージの数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる場合があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。

        閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。

        この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は getMessage(int) を使用してフォルダー内の各メッセージを取得し、その DELETED フラグが設定されているかどうかを確認します。このフラグが設定されているメッセージの総数が返されます。

        戻り値:
        削除されたメッセージの数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返される場合があります。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - その他の障害の場合
        導入:
        JavaMail 1.3
      • getMessage

        public abstract Message getMessage​(int msgnum)
                                    throws MessagingException
        指定されたメッセージ番号に対応する Message オブジェクトを取得します。メッセージオブジェクトのメッセージ番号は、そのフォルダー内のこのメッセージの相対的な位置です。メッセージには、フォルダー内のメッセージの総数から 1 から始まる番号が付けられます。特定のメッセージのメッセージ番号は、フォルダー内の他のメッセージが削除されてフォルダーが消去された場合、セッション中に変更される可能性があることに注意してください。

        メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。

        Folder オブジェクトとは異なり、このフォルダー内のメッセージが削除されていない限り、同じメッセージ番号で getMessage を繰り返し呼び出すと、同じ Message オブジェクトが返されます。

        フォルダーが消去されると、セッション内でメッセージ番号が変更される可能性があるため、クライアントはメッセージへの参照としてメッセージ番号を使用しないことをお勧めします。代わりにメッセージオブジェクトを使用してください。

        パラメーター:
        msgnum - メッセージ番号
        戻り値:
        メッセージオブジェクト
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        IndexOutOfBoundsExceptionSE - メッセージ番号が範囲外の場合。
        MessagingException - その他の障害の場合
        関連事項:
        getMessageCount(), fetch(jakarta.mail.Message[], jakarta.mail.FetchProfile)
      • getMessages

        public Message[] getMessages​(int start,
                                     int end)
                              throws MessagingException
        開始から終了までの範囲のメッセージ番号(開始と終了の両方を含む)のメッセージオブジェクトを取得します。メッセージ番号は 0 ではなく 1 から始まることに注意してください。

        メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。

        この実装では、必要なメッセージオブジェクトを取得するために getMessage(index) を使用します。返される配列には (end-start+1) メッセージオブジェクトが含まれている必要があることに注意してください。

        パラメーター:
        start - 最初のメッセージの番号
        end - 最後のメッセージの番号
        戻り値:
        メッセージオブジェクト
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        IndexOutOfBoundsExceptionSE - 開始メッセージ番号または終了メッセージ番号が範囲外の場合。
        MessagingException - その他の障害の場合
        関連事項:
        fetch(jakarta.mail.Message[], jakarta.mail.FetchProfile)
      • getMessages

        public Message[] getMessages​(int[] msgnums)
                              throws MessagingException
        配列で指定されたメッセージ番号の Message オブジェクトを取得します。

        メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。

        この実装では、必要なメッセージオブジェクトを取得するために getMessage(index) を使用します。返される配列には msgnums.length メッセージオブジェクトが含まれている必要があることに注意してください。

        パラメーター:
        msgnums - メッセージ番号の配列
        戻り値:
        メッセージオブジェクトの配列。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        IndexOutOfBoundsExceptionSE - 指定された配列のメッセージ番号が範囲外の場合。
        MessagingException - その他の障害の場合
        関連事項:
        fetch(jakarta.mail.Message[], jakarta.mail.FetchProfile)
      • getMessages

        public Message[] getMessages()
                              throws MessagingException
        このフォルダーからすべてのメッセージオブジェクトを取得します。フォルダーが空の場合は空の配列を返します。クライアントは、フォルダー内のメッセージへの参照として(シーケンス番号の代わりに)メッセージオブジェクトを使用できます。このメソッドは、メッセージオブジェクトをクライアントに提供します。フォルダーの実装は、必要に応じて埋められる軽量のメッセージオブジェクトを提供することが期待されています。

        この実装は、getMessageCount() を呼び出して現在のメッセージ数を取得し、次に getMessage() を使用してメッセージオブジェクトを 1 からメッセージ数まで取得します。

        戻り値:
        メッセージオブジェクトの配列。フォルダーが空の場合は空の配列。
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        MessagingException - その他の障害の場合
        関連事項:
        fetch(jakarta.mail.Message[], jakarta.mail.FetchProfile)
      • appendMessages

        public abstract void appendMessages​(Message[] msgs)
                                     throws MessagingException
        指定されたメッセージをこのフォルダーに追加します。このメソッドは、閉じたフォルダーで呼び出すことができます。メッセージがフォルダーに到着すると、適切な MessageCountEvent がこのフォルダーに登録されている MessageCountListener に配信されます。

        指定されたメッセージ配列内のメッセージが消去されたメッセージであることが判明した場合、フォルダーの実装はこの操作を中止してはなりません。

        パラメーター:
        msgs - 追加するメッセージの配列
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合。
        MessagingException - 追加が失敗した場合。
      • fetch

        public void fetch​(Message[] msgs,
                          FetchProfile fp)
                   throws MessagingException
        特定のメッセージの FetchProfile で指定されたアイテムをプリフェッチします。

        クライアントはこのメソッドを使用して、指定されたアイテムが指定されたメッセージ範囲にまとめて必要であることを示します。実装は、指定されたメッセージ範囲のこれらのアイテムを効率的な方法で取得することが期待されています。このメソッドは、目的のアイテムをプリフェッチするための実装への単なるヒントであることに注意してください。

        例としては、フォルダー内のすべてのメッセージのサブジェクト、From、X-mailer ヘッダーでヘッダービューウィンドウを埋めるクライアントがあります。

        
          Message[] msgs = folder.getMessages();
        
          FetchProfile fp = new FetchProfile();
          fp.add(FetchProfile.Item.ENVELOPE);
          fp.add("X-mailer");
          folder.fetch(msgs, fp);
          
          for (int i = 0; i < folder.getMessageCount(); i++) {
              display(msg[i].getFrom());
              display(msg[i].getSubject());
              display(msg[i].getHeader("X-mailer"));
          }
        
         

        ここで提供される実装は、何も有用なことをせずに戻るだけです。このメソッドの実際の実装を提供したいプロバイダーは、このメソッドをオーバーライドする必要があります。

        パラメーター:
        msgs - これらのメッセージのアイテムをフェッチする
        fp - FetchProfile
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        MessagingException - その他の障害の場合
      • setFlags

        public void setFlags​(Message[] msgs,
                             Flags flag,
                             boolean value)
                      throws MessagingException
        配列で指定されたメッセージに指定されたフラグを設定します。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されている MessageChangedListener に配信されます。

        指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに Message.setFlags を呼び出すのではなく、この方法を使用することをお勧めします。

        この実装は、各メッセージオブジェクトで setFlags() を呼び出すように縮退します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、配列内のメッセージが消去されたメッセージであることが判明した場合、実装は操作を中止してはなりません。

        パラメーター:
        msgs - メッセージオブジェクトの配列
        flag - 設定するフラグを含む Flags オブジェクト
        value - フラグをこのブール値に設定します
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。
        MessagingException - その他の障害の場合
        関連事項:
        Message.setFlags(jakarta.mail.Flags, boolean), MessageChangedEvent
      • setFlags

        public void setFlags​(int start,
                             int end,
                             Flags flag,
                             boolean value)
                      throws MessagingException
        開始から終了まで、開始と終了の両方で番号が付けられたメッセージに、指定されたフラグを設定します。メッセージ番号は 0 ではなく 1 から始まることに注意してください。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されているすべての MessageChangedListener に配信されます。

        特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに Message.setFlags を呼び出すのではなく、この方法を使用することをお勧めします。

        デフォルトの実装では、getMessage(int) を使用して各 Message オブジェクトを取得し、そのオブジェクトで setFlags を呼び出してフラグを設定します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、メッセージ番号が消去されたメッセージを参照している場合、実装は操作を中止してはなりません。

        パラメーター:
        start - 最初のメッセージの番号
        end - 最後のメッセージの番号
        flag - 設定するフラグを含む Flags オブジェクト
        value - フラグをこのブール値に設定します
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。
        IndexOutOfBoundsExceptionSE - 開始メッセージ番号または終了メッセージ番号が範囲外の場合。
        MessagingException - その他の障害の場合
        関連事項:
        Message.setFlags(jakarta.mail.Flags, boolean), MessageChangedEvent
      • setFlags

        public void setFlags​(int[] msgnums,
                             Flags flag,
                             boolean value)
                      throws MessagingException
        メッセージ番号が配列にあるメッセージに指定されたフラグを設定します。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されている MessageChangedListener に配信されます。

        特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに Message.setFlags を呼び出すのではなく、この方法を使用することをお勧めします。

        デフォルトの実装では、getMessage(int) を使用して各 Message オブジェクトを取得し、そのオブジェクトで setFlags を呼び出してフラグを設定します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、メッセージ番号が消去されたメッセージを参照している場合、実装は操作を中止してはなりません。

        パラメーター:
        msgnums - メッセージ番号の配列
        flag - 設定するフラグを含む Flags オブジェクト
        value - フラグをこのブール値に設定します
        例外:
        IllegalStateExceptionSE - このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。
        IndexOutOfBoundsExceptionSE - 指定された配列のメッセージ番号が範囲外の場合。
        MessagingException - その他の障害の場合
        関連事項:
        Message.setFlags(jakarta.mail.Flags, boolean), MessageChangedEvent
      • copyMessages

        public void copyMessages​(Message[] msgs,
                                 Folder folder)
                          throws MessagingException
        指定したメッセージをこのフォルダーから別のフォルダーにコピーします。この操作により、これらのメッセージが宛先フォルダーに追加されます。宛先フォルダーを開く必要はありません。メッセージがフォルダーに到着すると、適切な MessageCountEvent が宛先フォルダーに登録されている MessageCountListener に配信されます。

        指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。フォルダーの実装では、サーバー側のコピーを実行することで、この方法を最適化できる可能性があります。

        この実装は、宛先フォルダーで appendMessages() を呼び出して、指定されたメッセージを追加するだけです。サーバー側のコピーをサポートする特定のフォルダーの実装は、宛先フォルダーのストアがこのフォルダーのストアと同じである場合にサポートする必要があります。また、配列内のメッセージが消去されたメッセージであることが判明した場合、実装は操作を中止してはなりません。

        パラメーター:
        msgs - メッセージオブジェクトの配列
        folder - メッセージをコピーするフォルダー
        例外:
        FolderNotFoundException - 宛先フォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        MessagingException - その他の障害の場合
        関連事項:
        appendMessages(jakarta.mail.Message[])
      • expunge

        public abstract Message[] expunge()
                                   throws MessagingException
        DELETED とマークされたメッセージを消去(完全に削除)します。消去されたメッセージオブジェクトを含む配列を返します。これらの各メッセージオブジェクトの getMessageNumber メソッドは、そのメッセージの元の(つまり、消去前の)シーケンス番号を返します。消去されたメッセージを含む MessageCountEvent は、フォルダーに登録されているすべての MessageCountListeners に配信されます。

        消去すると、消去されたメッセージに続いてメッセージオブジェクトの番号が付け直されます。メッセージへの参照としてメッセージ番号を使用するクライアントは、これを認識し、状況に対処する準備をする必要があります(おそらく、既存のメッセージ番号キャッシュをフラッシュして再ロードすることによって)。この複雑さのため、クライアントはメッセージ番号ではなく、メッセージへの参照としてメッセージオブジェクトを使用する方が適切です。消去された Messages オブジェクトは引き続き削除する必要がありますが、そのフォルダー内の他のメッセージは消去の影響を受けません。

        メッセージが消去された後も、対応する Message オブジェクトでは isExpunged メソッドと getMessageNumber メソッドのみが引き続き有効です。他の方法では MessageRemovedException がスローされる可能性があります

        戻り値:
        消去されたメッセージオブジェクトの配列
        例外:
        FolderNotFoundException - このフォルダーが存在しない場合
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        MessagingException - その他の障害の場合
        関連事項:
        Message.isExpunged(), MessageCountEvent
      • search

        public Message[] search​(SearchTerm term)
                         throws MessagingException
        指定された検索条件に一致するメッセージをこのフォルダーで検索します。一致するメッセージを含む配列を返します。一致するものが見つからなかった場合は、空の配列を返します。

        この実装は search(term, getMessages()) を呼び出して、このフォルダー内のすべてのメッセージに検索を適用します。サーバー側の検索を実装できるプロバイダーは、より効率的な実装を提供するために、このメソッドをオーバーライドすることをお勧めします。

        パラメーター:
        term - 検索基準
        戻り値:
        一致するメッセージの配列
        例外:
        SearchException - 検索語が複雑すぎて実装で処理できない場合。
        FolderNotFoundException - このフォルダーが存在しない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合。
        MessagingException - その他の障害の場合
        関連事項:
        SearchTerm
      • search

        public Message[] search​(SearchTerm term,
                                Message[] msgs)
                         throws MessagingException
        指定されたメッセージの配列で、指定された検索条件に一致するメッセージを検索します。一致するメッセージを含む配列を返します。一致するものが見つからなかった場合は、空の配列を返します。

        指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。

        この実装は、指定されたメッセージの配列を反復処理し、指定された用語で match() メソッドを呼び出すことにより、各メッセージに検索基準を適用します。一致に成功したメッセージが返されます。サーバー側の検索を実装できるプロバイダーは、より効率的な実装を提供するために、このメソッドをオーバーライドすることをお勧めします。検索用語が複雑すぎるか、サーバーで実行できないユーザー定義の用語が含まれている場合、プロバイダーは SearchException をスローするか、super.search() を呼び出してこの実装を呼び出すことでクライアント側の検索に縮退するかを選択できます。

        パラメーター:
        term - 検索基準
        msgs - 検索するメッセージ
        戻り値:
        一致するメッセージの配列
        例外:
        SearchException - 検索語が複雑すぎて実装で処理できない場合。
        IllegalStateExceptionSE - このフォルダーが開かれていない場合
        MessagingException - その他の障害の場合
        関連事項:
        SearchTerm
      • addConnectionListener

        public void addConnectionListener​(ConnectionListener l)
        このフォルダーに接続イベントのリスナーを追加します。

        ここで提供される実装は、このリスナーを ConnectionListeners の内部リストに追加します。

        パラメーター:
        l - 接続イベントのリスナー
        関連事項:
        ConnectionEvent
      • notifyConnectionListeners

        protected void notifyConnectionListeners​(int type)
        すべての ConnectionListeners に通知します。フォルダーの実装では、このメソッドを使用して接続イベントをブロードキャストすることが期待されています。

        提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された ConnectionListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。

        パラメーター:
        type - ConnectionEvent 型
        関連事項:
        ConnectionEvent
      • addFolderListener

        public void addFolderListener​(FolderListener l)
        この Folder に Folder イベントのリスナーを追加します。

        ここで提供される実装は、このリスナーを FolderListeners の内部リストに追加します。

        パラメーター:
        l - Folder イベントのリスナー
        関連事項:
        FolderEvent
      • removeFolderListener

        public void removeFolderListener​(FolderListener l)
        Folder イベントリスナーを削除します。

        ここで提供される実装は、FolderListeners の内部リストからこのリスナーを削除します。

        パラメーター:
        l - リスナー
        関連事項:
        addFolderListener(jakarta.mail.event.FolderListener)
      • notifyFolderListeners

        protected void notifyFolderListeners​(int type)
        このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に通知します。フォルダーの実装では、このメソッドを使用してフォルダーイベントをブロードキャストすることが期待されています。

        ここで提供される実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、このフォルダーに登録されている FolderListeners にディスパッチします。実装はまた、このフォルダーのストアで notifyFolderListeners を呼び出して、ストアに登録されている FolderListeners に通知します。

        パラメーター:
        type - FolderEvent の型
        関連事項:
        notifyFolderRenamedListeners(jakarta.mail.Folder)
      • notifyFolderRenamedListeners

        protected void notifyFolderRenamedListeners​(Folder folder)
        このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に、このフォルダーの名前の変更を通知します。フォルダーの実装では、このメソッドを使用して、フォルダーの名前変更を示すフォルダーイベントをブロードキャストすることが期待されています。

        ここで提供される実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、このフォルダーに登録されている FolderListeners にディスパッチします。実装はまた、このフォルダーのストアで notifyFolderRenamedListeners を呼び出して、ストアに登録されている FolderListeners に通知します。

        パラメーター:
        folder - 新しい名前を表すフォルダー。
        導入:
        JavaMail 1.1
        関連事項:
        notifyFolderListeners(int)
      • addMessageCountListener

        public void addMessageCountListener​(MessageCountListener l)
        このフォルダーに MessageCount イベントのリスナーを追加します。

        ここで提供される実装は、このリスナーを MessageCountListeners の内部リストに追加します。

        パラメーター:
        l - MessageCount イベントのリスナー
        関連事項:
        MessageCountEvent
      • notifyMessageAddedListeners

        protected void notifyMessageAddedListeners​(Message[] msgs)
        このフォルダーへのメッセージの追加について、すべての MessageCountListeners に通知します。フォルダーの実装では、このメソッドを使用して、新しいメッセージの到着を示す MessageCount イベントをブロードキャストすることが期待されています。

        提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageCountListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。

        パラメーター:
        msgs - 追加されたメッセージ
      • notifyMessageRemovedListeners

        protected void notifyMessageRemovedListeners​(boolean removed,
                                                     Message[] msgs)
        このフォルダーからのメッセージの削除について、すべての MessageCountListeners に通知します。フォルダーの実装では、このメソッドを使用して、メッセージの削除を示す MessageCount イベントをブロードキャストすることが期待されています。

        提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageCountListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。

        パラメーター:
        removed - メッセージはこのクライアントによって削除されましたか?
        msgs - 削除されたメッセージ
      • addMessageChangedListener

        public void addMessageChangedListener​(MessageChangedListener l)
        このフォルダーに MessageChanged イベントのリスナーを追加します。

        ここで提供される実装は、このリスナーを MessageChangedListeners の内部リストに追加します。

        パラメーター:
        l - MessageChanged イベントのリスナー
        関連事項:
        MessageChangedEvent
      • notifyMessageChangedListeners

        protected void notifyMessageChangedListeners​(int type,
                                                     Message msg)
        すべての MessageChangedListeners に通知します。フォルダーの実装では、このメソッドを使用して MessageChanged イベントをブロードキャストすることが期待されています。

        提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageChangedListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。

        パラメーター:
        type - MessageChangedEvent 型
        msg - 変わったメッセージ
      • toString

        public StringSE toString()
        デフォルトの toString() をオーバーライドすると、Folder.getFullName() から文字列が返されます。それが null の場合は、デフォルトの toString() の動作が使用されます。
        オーバーライド:
        クラス ObjectSEtoString