概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## com.sun.mail.pop3
クラス DefaultFolder

    java.lang.Object
      javax.mail.Folder
          com.sun.mail.pop3.DefaultFolder

    public final class DefaultFolder

extends Folder

POP3 の DefaultFolder です。 "INBOX" フォルダを含むだけです。

フィールドの概要

クラス javax.mail.Folder から継承されたフィールド
`HOLDS_FOLDERS, HOLDS_MESSAGES, mode, READ_ONLY, READ_WRITE, store`

メソッドの概要
`void` | `appendMessages(Message[] msgs)` 指定された Messages をこのフォルダに追加します。
`void` | `close(boolean expunge)` この Folder を閉じます。
`boolean` | `create(int type)` このフォルダを Store 上に作成します。
`boolean` | `delete(boolean recurse)` この Folder を削除します。
`boolean` | `exists()` このフォルダが物理的に Store 上に存在するかどうかを検査します。
`Message[]` | `expunge()` DELETED のマークが付いている消去 (永続的な削除) メッセージです。
`Folder` | `getFolder(String name)` 指定された名前に対応する Folder オブジェクトを返します。
`String` | `getFullName()` この Folder の完全な名前を返します。
`protected Folder` | `getInbox()`
`Message` | `getMessage(int msgno)` 指定されたメッセージ番号に対応する Message オブジェクトを取得します。
`int` | `getMessageCount()` この Folder 中のメッセージの数を取得します。
`String` | `getName()` この Folder の名前を返します。
`Folder` | `getParent()` このフォルダの親フォルダを返します。
`Flags` | `getPermanentFlags()` この Folder がサポートする永続フラグを取得します。
`char` | `getSeparator()` この Folder のパス名をすぐ下のサブフォルダ名から分離する区切り文字を返します。
`int` | `getType()` この Folder の型、つまり、このフォルダがメッセージかサブフォルダ、 又はその両方を保持可能かどうかを返します。
`boolean` | `hasNewMessages()` この表示が最後にリセットされてから、この Folder に新規メッセージが存在する場合は true を返します。
`boolean` | `isOpen()` この Folder が 'open' 状態にあるかどうかを示します。
`Folder[]` | `list(String pattern)` 指定されたパターンに一致するこの Folder の名前空間に属する Folder の一覧を返します。
`void` | `open(int mode)` この Folder を開きます。
`boolean` | `renameTo(Folder f)` この Folder の名前を変更します。

クラス javax.mail.Folder から継承されたメソッド
`addConnectionListener, addFolderListener, addMessageChangedListener, addMessageCountListener, copyMessages, fetch, finalize, getDeletedMessageCount, getMessages, getMessages, getMessages, getMode, getNewMessageCount, getStore, getUnreadMessageCount, getURLName, isSubscribed, list, listSubscribed, listSubscribed, notifyConnectionListeners, notifyFolderListeners, notifyFolderRenamedListeners, notifyMessageAddedListeners, notifyMessageChangedListeners, notifyMessageRemovedListeners, removeConnectionListener, removeFolderListener, removeMessageChangedListener, removeMessageCountListener, search, search, setFlags, setFlags, setFlags, setSubscribed, toString`

クラス java.lang.Object から継承されたメソッド
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

メソッドの詳細

### getName

    public String getName()

  クラス `Folder` の記述:
  この Folder の名前を返します。

  このメソッドは閉じた Folder 上で呼び出すことができます。

  定義:
    クラス `Folder` 内の `getName`
  戻り値:
    Folder の名前

### getFullName

    public String getFullName()

  クラス `Folder` の記述:
  この Folder の完全な名前を返します。 フォルダがこの Store のルート階層の下にある場合、 返される名前はルートへの相対名になります。 そうでない場合は、階層区切り文字で始まる絶対名が返されます。

  このメソッドは閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `getFullName`
  戻り値:
    Folder の完全な名前

### getParent

    public Folder getParent()

  クラス `Folder` の記述:
  このフォルダの親フォルダを返します。 このメソッドは閉じた Folder 上で呼び出す事ができます。 このフォルダがフォルダ階層の最上位にある場合、このメソッドは null を返します。

  Folder オブジェクトはキャッシュされないので、このメソッドを呼び出すと、 新規の異なる Folder オブジェクトが返されます。

  定義:
    クラス `Folder` 内の `getParent`
  戻り値:
    親フォルダ

### exists

    public boolean exists()

  クラス `Folder` の記述:
  このフォルダが物理的に Store 上に存在するかどうかを検査します。 このメソッドは閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `exists`
  戻り値:
    フォルダが存在する場合は true、そうでない場合は false
  関連項目:
    `Folder.create(int)`

### list

    public Folder[] list(String pattern)
                  throws MessagingException

  クラス `Folder` の記述:
  指定されたパターンに一致するこの Folder の名前空間に属する Folder の一覧を返します。 パターンは、階層区切り文字以外の任意の文字に一致するワイルドカード文字 `"%"`、 及び全ての文字に一致する `"*"` を含む事ができます。

  フォルダ階層の例を以下に示します。

          Personal/
             Finance/
                Stocks
                Bonus
                StockOptions
             Jokes

  "Personal" 上の `list("*")` は階層全体を返します。
  "Personal" 上の `list("%")` は "Finance" と "Jokes" を返します。
  "Personal" 上の `list("Jokes")` は "Jokes" を返します。
  "Finance" 上の `list("Stock*")` は "Stocks" と "StockOptions" を返します。

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

  このメソッドは閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `list`
  パラメータ:
    `pattern` - 一致パターン
  戻り値:
    一致する Folder オブジェクトの配列。一致する Folder が存在しない場合は、空の配列を返します。
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `Folder.listSubscribed(java.lang.String)`

### getSeparator

    public char getSeparator()

  クラス `Folder` の記述:
  この Folder のパス名をすぐ下のサブフォルダ名から分離する区切り文字を返します。 このメソッドは閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `getSeparator`
  戻り値:
    階層区切り文字

### getType

    public int getType()

  クラス `Folder` の記述:
  この Folder の型、つまり、このフォルダがメッセージかサブフォルダ、 又はその両方を保持可能かどうかを返します。 返される値は、適切なビットが設定された整数ビットフィールドです。 このメソッドは閉じたフォルダ上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `getType`
  戻り値:
    適切なビットが設定された整数
  関連項目:
    `Folder.HOLDS_FOLDERS`, `Folder.HOLDS_MESSAGES`

### create

    public boolean create(int type)
                   throws MessagingException

  クラス `Folder` の記述:
  このフォルダを Store 上に作成します。 このフォルダが作成されると、パスに含まれる存在しない全てのフォルダも作成されます。

  作成が成功すると、この Folder とこの Store に登録されている 任意の FolderListener に CREATED FolderEvent が配信されます。

  定義:
    クラス `Folder` 内の `create`
  パラメータ:
    `type` - このフォルダの型
  戻り値:
    作成が成功する場合は true、そうでない場合は false
  例外:
    `MessagingException`
  関連項目:
    `Folder.HOLDS_FOLDERS`, `Folder.HOLDS_MESSAGES`, `FolderEvent`

### hasNewMessages

    public boolean hasNewMessages()
                           throws MessagingException

  クラス `Folder` の記述:
  この表示が最後にリセットされてから、この Folder に新規メッセージが存在する場合は true を返します。 この表示がいつ設定またはリセットされるかは、Folder の実装により異なります (IMAP の場合は、サーバに依存します)。 このメソッドを使用して、Folder を開かずに "新規メールをチェック" する軽量な操作を実装できます。 (例えば、メールボックス及びフラグを監視して新規メールをチェックするスレッド等) このメソッドは、Folder 中の任意のメッセージに `RECENT` フラグが 設定されているかどうかを示す必要があります。

  これは新規メールのインクリメンタルチェックではありません。 つまり、このメソッドが最後に呼び出された時以降に、 新規メッセージが到着したかどうかを判定する為に使用する事はできません。 インクリメンタルチェックを実装するには、Folder を開く必要があります。

  このメソッドは、Message を含む事ができる閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `hasNewMessages`
  戻り値:
    Store が新規の Message を含む場合は true
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`

### getFolder

    public Folder getFolder(String name)
                     throws MessagingException

  クラス `Folder` の記述:
  指定された名前に対応する Folder オブジェクトを返します。 このフォルダは、Store 内に物理的に存在する必要はありません。 Folder 上の `exists()` メソッドは、 フォルダが Store 上に実在するかどうかを示します。

  一部の Store で、名前が階層区切り文字で始まる場合、絶対パスにする事ができます。 それ以外の場合、名前はこの Folder への相対名と解釈されます。

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

  このメソッドは閉じた Folder 上で呼び出す事ができます。

  定義:
    クラス `Folder` 内の `getFolder`
  パラメータ:
    `name` - Folder の名前
  戻り値:
    Folder オブジェクト
  例外:
    `MessagingException`

### getInbox

    protected Folder getInbox()
                       throws MessagingException

  例外:
    `MessagingException`

### delete

    public boolean delete(boolean recurse)
                   throws MessagingException

  クラス `Folder` の記述:
  この Folder を削除します。 このメソッドは閉じた Folder 上でのみ成功します。

  `recurse` フラグは、削除がサブフォルダに影響するかどうかを制御します。 true の場合、全てのサブフォルダが削除された後、このフォルダ自身が削除されます。 false の場合、動作はフォルダの型により異なります。 以下に詳しく述べます。

  - フォルダがメッセージだけを含む事ができる場合 (type == HOLDS_MESSAGES)
    フォルダ内の全てのメッセージは削除されます。次に、フォルダ自身が削除されます。 Store とこのフォルダにより適切な FolderEvent が生成されます。

  - フォルダがサブフォルダだけを含む事ができる場合 (type == HOLDS_FOLDERS)
    このフォルダが空 (サブフォルダを全く含まない) の場合は削除されます。 Store とこのフォルダにより適切な FolderEvent が生成されます。
    このフォルダが任意のサブフォルダを含む場合は、削除が失敗し、false を返します。

  - フォルダがサブフォルダとメッセージを含む事ができる場合:
    フォルダが空 (メッセージ又はサブフォルダがない) の場合は削除されます。 フォルダにサブフォルダがなく、メッセージだけを含む場合は、 全てのメッセージが削除されます。その後、フォルダ自身が削除されます。 何れの場合も、Store とこのフォルダにより適切な FolderEvent が生成されます。

    フォルダがサブフォルダを含む場合、実装には以下の 3 つの選択肢があります:

    1. このフォルダがメッセージを含むかどうかにかかわらず、操作が失敗します。 一部の実装はこの単純な方式を選択します。delete() メソッドは false を返します。
    2. フォルダ内の全てのメッセージは削除されます。サブフォルダは削除されません。 フォルダ自身は削除されないか、どのような影響も受けません。 delete() メソッドは true を返します。このフォルダ上の exists() メソッドは、 このフォルダがまだ存在することを示す true を返します。
       Store とこのフォルダにより適切な FolderEvent が生成されます。
    3. フォルダ内の全てのメッセージは削除されます。サブフォルダは削除されません。 フォルダ自身はその型を HOLDS_FOLDERS | HOLDS_MESSAGES から HOLDS_FOLDERS に変更します。 その為、新規メッセージはこのフォルダに追加できませんが、新規サブフォルダを下に作成することは可能です。 delete() メソッドは成功を示す true を返します。 このフォルダ上の exists() メソッドは、このフォルダがまだ存在することを示す true を返します。
       Store とこのフォルダにより適切な FolderEvent が生成されます。

  定義:
    クラス `Folder` 内の `delete`
  戻り値:
    Folder が正常に削除された場合は true
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `FolderEvent`

### renameTo

    public boolean renameTo(Folder f)
                     throws MessagingException

  クラス `Folder` の記述:
  この Folder の名前を変更します。 このメソッドは閉じた Folder 上でのみ成功します。

  名前の変更が成功すると、このフォルダとこのフォルダを含む Store に登録 されている FolderListener に RENAMED FolderEvent が配信されます。

  定義:
    クラス `Folder` 内の `renameTo`
  パラメータ:
    `f` - この Folder の新しい名前を表すフォルダ
  戻り値:
    Folder の名前が正常に変更された場合は true
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `FolderEvent`

### open

    public void open(int mode)
              throws MessagingException

  クラス `Folder` の記述:
  この Folder を開きます。このメソッドは、 Message を含む事が可能でかつ閉じている Folder 上でのみ有効です。

  このフォルダが正常に開くと、この Folder 上に登録されている 全ての ConnectionListener に OPENED ConnectionEvent が配信されます。

  特定の Store 上の同じフォルダへの接続を複数開く場合の効果は、実装により異なります。 一部の実装は複数の読み手を許可しますが、書き手はただ 1 人しか許可しません。 又別の実装は複数の読み手と書き手を許可します。

  定義:
    クラス `Folder` 内の `open`
  パラメータ:
    `mode` - Folder READ_ONLY または READ_WRITE を開く
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `Folder.READ_ONLY`, `Folder.READ_WRITE`, `Folder.getType()`, `ConnectionEvent`

### close

    public void close(boolean expunge)
               throws MessagingException

  クラス `Folder` の記述:
  この Folder を閉じます。このメソッドは開いた Folder 上でのみ有効です。

  この Folder 上に登録されている全ての ConnectionListener に CLOSED ConnectionEvent が配信されます。 MessagingException のスローにより、このメソッドが異常終了した場合でもフォルダは閉じられます。

  定義:
    クラス `Folder` 内の `close`
  パラメータ:
    `expunge` - このフラグが true の場合、全ての削除メッセージを消去します。
  例外:
    `MessagingException`
  関連項目:
    `ConnectionEvent`

### isOpen

    public boolean isOpen()

  クラス `Folder` の記述:
  この Folder が 'open' 状態にあるかどうかを示します。

  定義:
    クラス `Folder` 内の `isOpen`
  戻り値:
    この Folder が 'open' 状態にある場合は true

### getPermanentFlags

    public Flags getPermanentFlags()

  クラス `Folder` の記述:
  この Folder がサポートする永続フラグを取得します。 サポートされる全てのフラグを含む Flags オブジェクトを返します。

  特殊フラグ `Flags.USER` は、 この Folder が任意のユーザ定義フラグをサポートする事を示します。

  フォルダのサポートされる永続フラグは、フォルダが開かれるまで使用できません。

  定義:
    クラス `Folder` 内の `getPermanentFlags`
  戻り値:
    永続フラグ、または不明の場合は null

### getMessageCount

    public int getMessageCount()
                        throws MessagingException

  クラス `Folder` の記述:
  この Folder 中のメッセージの数を取得します。

  このメソッドは閉じたフォルダ上で呼び出す事ができます。 但し、一部のフォルダ実装では、メッセージ数の取得は、 実際のフォルダのオープンを含む負荷の大きい操作になる場合があります。 そうした場合、プロバイダは閉じた状態でのこの機能をサポートしない様に選択できます。 この場合、このメソッドは -1 を返す必要があります。

  閉じたフォルダ上でこのメソッドを呼び出すクライアントは、 これが負荷の大きい操作になる可能性がある事に注意する必要があります。 この場合、クライアントは戻り値 -1 に対する処理も準備する必要があります。

  定義:
    クラス `Folder` 内の `getMessageCount`
  戻り値:
    メッセージの数。このメソッドが閉じたフォルダ上で呼び出された場合、 一部の実装では -1 が返されることがあります。
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`

### getMessage

    public Message getMessage(int msgno)
                       throws MessagingException

  クラス `Folder` の記述:
  指定されたメッセージ番号に対応する Message オブジェクトを取得します。 Message オブジェクトのメッセージ番号は、この Message の Folder 中の相対位置です。 メッセージには 1 からフォルダ中のメッセージの数迄の番号が割り当てられます。 特定の Message のメッセージ番号は、Folder 中の他のメッセージが削除され、 Folder が消去された場合、セッション中に変更になる事があります。

  Message オブジェクトは、オンデマンドで満たされる実際のメッセージへの軽量な参照です。 従って、Folder 実装は軽量な Message オブジェクトを提供する必要があります。

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

  フォルダが消去されると、セッション中にメッセージ番号が変更になる事がある為、 クライアントはメッセージへの参照としてメッセージ番号を使用するべきではありません。 代わりに Message オブジェクトを使用して下さい。

  定義:
    クラス `Folder` 内の `getMessage`
  パラメータ:
    `msgno` - メッセージ番号
  戻り値:
    Message オブジェクト
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `Folder.getMessageCount()`, `Folder.fetch(javax.mail.Message[], javax.mail.FetchProfile)`

### appendMessages

    public void appendMessages(Message[] msgs)
                        throws MessagingException

  クラス `Folder` の記述:
  指定された Messages をこのフォルダに追加します。 このメソッドは閉じた Folder 上で呼び出す事ができます。 メッセージがフォルダに到着した際、適切な MessageCountEvent が このフォルダに登録されている全ての MessageCountListener に配信されます。

  指定されたメッセージ配列中の Message が消去された Message だと判明しても、 Folder 実装はこの操作を中止してはいけません。

  定義:
    クラス `Folder` 内の `appendMessages`
  パラメータ:
    `msgs` - 追加される Message の配列
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException` - 追加が失敗した場合

### expunge

    public Message[] expunge()
                      throws MessagingException

  クラス `Folder` の記述:
  DELETED のマークが付いている消去 (永続的な削除) メッセージです。 消去されたメッセージオブジェクトを含む配列を返します。 これらの各メッセージオブジェクト上の `getMessageNumber` メソッドは、 Message の元 (つまり、消去前) のシーケンス番号を返します。 フォルダ上に登録されている全ての MessageCountListener に、 消去されたメッセージを含む MessageCountEvent が配信されます。

  メッセージの消去により、消去メッセージ以降の Message オブジェクトの番号が再度割り当てられます。 メッセージへの参照としてメッセージ番号を使用するクライアントはこの点に注意しなければならず、 状況に対処する準備が必要になります (既存のメッセージ番号キャッシュを消去し、再度読込む)。 こうした複雑さから、クライアントはメッセージ番号でなく Message オブジェクトを使用してメッセージを参照する方が適切です。 消去される Message オブジェクトは依然として除去する必要がありますが、 フォルダ中の他の Message オブジェクトは消去による影響を受けません。

  メッセージが削除された後、対応する Message オブジェクト上 では `isExpunged` 及び `getMessageNumber` メソッドのみが依然有効です。 その他のメソッドは `MessageRemovedException` をスローする場合があります。

  定義:
    クラス `Folder` 内の `expunge`
  戻り値:
    消去された Message オブジェクトの配列
  例外:
    `FolderNotFoundException` - このフォルダが存在しない場合
    `MessagingException`
  関連項目:
    `Message.isExpunged()`, `MessageCountEvent`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド