|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.mail.Folder
com.sun.mail.pop3.DefaultFolder
public final class DefaultFolder
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 の名前を変更します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| メソッドの詳細 |
|---|
public String getName()
Folder の記述: このメソッドは閉じた Folder 上で呼び出すことができます。
Folder 内の getNamepublic String getFullName()
Folder の記述: このメソッドは閉じた Folder 上で呼び出す事ができます。
Folder 内の getFullNamepublic Folder getParent()
Folder の記述: Folder オブジェクトはキャッシュされないので、このメソッドを呼び出すと、 新規の異なる Folder オブジェクトが返されます。
Folder 内の getParentpublic boolean exists()
Folder の記述:
Folder 内の existsFolder.create(int)
public Folder[] list(String pattern)
throws MessagingException
Folder の記述: "%"、
及び全ての文字に一致する "*" を含む事ができます。フォルダ階層の例を以下に示します。
Personal/
Finance/
Stocks
Bonus
StockOptions
Jokes
"Personal" 上の list("*") は階層全体を返します。list("%") は "Finance" と "Jokes" を返します。list("Jokes") は "Jokes" を返します。list("Stock*") は "Stocks" と "StockOptions" を返します。Folder オブジェクトは Store によりキャッシュされないので、 同じパターンでこのメソッドを複数回呼び出すと、 多くの異なる Folder オブジェクトが返されます。
このメソッドは閉じた Folder 上で呼び出す事ができます。
Folder 内の listpattern - 一致パターン
FolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionFolder.listSubscribed(java.lang.String)public char getSeparator()
Folder の記述:
Folder 内の getSeparatorpublic int getType()
Folder の記述:
Folder 内の getTypeFolder.HOLDS_FOLDERS,
Folder.HOLDS_MESSAGES
public boolean create(int type)
throws MessagingException
Folder の記述: 作成が成功すると、この Folder とこの Store に登録されている 任意の FolderListener に CREATED FolderEvent が配信されます。
Folder 内の createtype - このフォルダの型
MessagingExceptionFolder.HOLDS_FOLDERS,
Folder.HOLDS_MESSAGES,
FolderEvent
public boolean hasNewMessages()
throws MessagingException
Folder の記述: RECENT フラグが
設定されているかどうかを示す必要があります。これは新規メールのインクリメンタルチェックではありません。 つまり、このメソッドが最後に呼び出された時以降に、 新規メッセージが到着したかどうかを判定する為に使用する事はできません。 インクリメンタルチェックを実装するには、Folder を開く必要があります。
このメソッドは、Message を含む事ができる閉じた Folder 上で呼び出す事ができます。
Folder 内の hasNewMessagesFolderNotFoundException - このフォルダが存在しない場合
MessagingException
public Folder getFolder(String name)
throws MessagingException
Folder の記述: exists() メソッドは、
フォルダが Store 上に実在するかどうかを示します。一部の Store で、名前が階層区切り文字で始まる場合、絶対パスにする事ができます。 それ以外の場合、名前はこの Folder への相対名と解釈されます。
Folder オブジェクトは Store によりキャッシュされないので、 同じ名前でこのメソッドを複数回呼び出すと、 多くの異なる Folder オブジェクトが返されます。
このメソッドは閉じた Folder 上で呼び出す事ができます。
Folder 内の getFoldername - Folder の名前
MessagingException
protected Folder getInbox()
throws MessagingException
MessagingException
public boolean delete(boolean recurse)
throws MessagingException
Folder の記述:
recurse フラグは、削除がサブフォルダに影響するかどうかを制御します。
true の場合、全てのサブフォルダが削除された後、このフォルダ自身が削除されます。
false の場合、動作はフォルダの型により異なります。
以下に詳しく述べます。
フォルダがサブフォルダを含む場合、実装には以下の 3 つの選択肢があります:
Folder 内の deleteFolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionFolderEvent
public boolean renameTo(Folder f)
throws MessagingException
Folder の記述: 名前の変更が成功すると、このフォルダとこのフォルダを含む Store に登録 されている FolderListener に RENAMED FolderEvent が配信されます。
Folder 内の renameTof - この Folder の新しい名前を表すフォルダ
FolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionFolderEvent
public void open(int mode)
throws MessagingException
Folder の記述: このフォルダが正常に開くと、この Folder 上に登録されている 全ての ConnectionListener に OPENED ConnectionEvent が配信されます。
特定の Store 上の同じフォルダへの接続を複数開く場合の効果は、実装により異なります。 一部の実装は複数の読み手を許可しますが、書き手はただ 1 人しか許可しません。 又別の実装は複数の読み手と書き手を許可します。
Folder 内の openmode - Folder READ_ONLY または READ_WRITE を開く
FolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionFolder.READ_ONLY,
Folder.READ_WRITE,
Folder.getType(),
ConnectionEvent
public void close(boolean expunge)
throws MessagingException
Folder の記述: この Folder 上に登録されている全ての ConnectionListener に CLOSED ConnectionEvent が配信されます。 MessagingException のスローにより、このメソッドが異常終了した場合でもフォルダは閉じられます。
Folder 内の closeexpunge - このフラグが true の場合、全ての削除メッセージを消去します。
MessagingExceptionConnectionEventpublic boolean isOpen()
Folder の記述:
Folder 内の isOpenpublic Flags getPermanentFlags()
Folder の記述:
特殊フラグ Flags.USER は、
この Folder が任意のユーザ定義フラグをサポートする事を示します。
フォルダのサポートされる永続フラグは、フォルダが開かれるまで使用できません。
Folder 内の getPermanentFlags
public int getMessageCount()
throws MessagingException
Folder の記述: このメソッドは閉じたフォルダ上で呼び出す事ができます。 但し、一部のフォルダ実装では、メッセージ数の取得は、 実際のフォルダのオープンを含む負荷の大きい操作になる場合があります。 そうした場合、プロバイダは閉じた状態でのこの機能をサポートしない様に選択できます。 この場合、このメソッドは -1 を返す必要があります。
閉じたフォルダ上でこのメソッドを呼び出すクライアントは、 これが負荷の大きい操作になる可能性がある事に注意する必要があります。 この場合、クライアントは戻り値 -1 に対する処理も準備する必要があります。
Folder 内の getMessageCountFolderNotFoundException - このフォルダが存在しない場合
MessagingException
public Message getMessage(int msgno)
throws MessagingException
Folder の記述: Message オブジェクトは、オンデマンドで満たされる実際のメッセージへの軽量な参照です。 従って、Folder 実装は軽量な Message オブジェクトを提供する必要があります。
Folder オブジェクトと異なり、同じメッセージ番号を使用して繰り返し getMessage を呼び出した場合、 このフォルダで消去されたメッセージがない限り、同じ Message オブジェクトが返されます。
フォルダが消去されると、セッション中にメッセージ番号が変更になる事がある為、 クライアントはメッセージへの参照としてメッセージ番号を使用するべきではありません。 代わりに Message オブジェクトを使用して下さい。
Folder 内の getMessagemsgno - メッセージ番号
FolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionFolder.getMessageCount(),
Folder.fetch(javax.mail.Message[], javax.mail.FetchProfile)
public void appendMessages(Message[] msgs)
throws MessagingException
Folder の記述: 指定されたメッセージ配列中の Message が消去された Message だと判明しても、 Folder 実装はこの操作を中止してはいけません。
Folder 内の appendMessagesmsgs - 追加される Message の配列
FolderNotFoundException - このフォルダが存在しない場合
MessagingException - 追加が失敗した場合
public Message[] expunge()
throws MessagingException
Folder の記述: getMessageNumber メソッドは、
Message の元 (つまり、消去前) のシーケンス番号を返します。
フォルダ上に登録されている全ての MessageCountListener に、
消去されたメッセージを含む MessageCountEvent が配信されます。メッセージの消去により、消去メッセージ以降の Message オブジェクトの番号が再度割り当てられます。 メッセージへの参照としてメッセージ番号を使用するクライアントはこの点に注意しなければならず、 状況に対処する準備が必要になります (既存のメッセージ番号キャッシュを消去し、再度読込む)。 こうした複雑さから、クライアントはメッセージ番号でなく Message オブジェクトを使用してメッセージを参照する方が適切です。 消去される Message オブジェクトは依然として除去する必要がありますが、 フォルダ中の他の Message オブジェクトは消去による影響を受けません。
メッセージが削除された後、対応する Message オブジェクト上
では isExpunged 及び getMessageNumber メソッドのみが依然有効です。
その他のメソッドは MessageRemovedException をスローする場合があります。
Folder 内の expungeFolderNotFoundException - このフォルダが存在しない場合
MessagingExceptionMessage.isExpunged(),
MessageCountEvent
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||