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