クラスフォルダー
- 実装されたすべてのインターフェース:
AutoCloseableSE
フォルダーにはメッセージ、他のフォルダー、その両方を含めることができるため、ストアのデフォルトフォルダーをルートとするツリーのような階層が提供されます。(一部のフォルダー実装では、同じフォルダー内のメッセージと他のフォルダーの両方が許可されない場合があることに注意してください)。
フォルダー名の解釈は実装に依存します。フォルダーのフルネーム内の階層のさまざまなレベルは、階層区切り文字によって互いに分離されています。
大文字と小文字を区別しない完全なフォルダー名(つまり、ストアのデフォルトフォルダーに対する相対名) INBOX は、「このサーバー上のこのユーザーのプライマリフォルダー」を意味するように予約されています。すべてのストアが INBOX フォルダーを提供するわけではなく、すべてのユーザーが常に INBOX フォルダーを持つわけではありません。INBOX という名前は、このフォルダーが存在する場合、それを提供するストアでこのフォルダーを参照するために予約されています。
Store から取得した Folder オブジェクトは、実際にバックエンドストアに存在する必要はありません。exists
メソッドは、フォルダーが存在するかどうかをテストします。create
メソッドはフォルダーを作成します。
フォルダーは最初は閉じた状態です。この状態では、特定のメソッドが有効です。これらのメソッドのドキュメントはこれに注意しています。フォルダーは、その "open" メソッドを呼び出すことによって開かれます。open
、delete
、renameTo
を除くすべてのフォルダーメソッドは、この状態で有効です。
フォルダーを取得する唯一の方法は、ストア、フォルダー、セッションで getFolder
メソッドを呼び出すか、フォルダーで list
または listSubscribed
メソッドを呼び出すことです。上記のメソッドによって返されたフォルダーオブジェクトは、ストアによってキャッシュされません。同じフォルダー名で getFolder
メソッドを複数回呼び出すと、異なる Folder オブジェクトが返されます。list
および listSubscribed
メソッドについても同様です。
フォルダー内のメッセージオブジェクトは、フォルダーによってキャッシュされます。同じメッセージ番号で getMessage(msgno)
を複数回呼び出すと、このフォルダーで消去が完了するまで、同じメッセージオブジェクトが返されます。
フォルダーからのメッセージオブジェクトは、フォルダーが開いている間のみ有効であり、フォルダーが後で再度開かれた場合でも、フォルダーが閉じられた後はアクセスできません。代わりに、新しいメッセージオブジェクトは、フォルダーが再度開かれた後にフォルダーからフェッチされる必要があります。
含まれているフォルダーが expunge メソッドを使用して消去される場合、メッセージのメッセージ番号はセッション内で変更される可能性があることに注意してください。メッセージへの参照としてメッセージ番号を使用するクライアントは、これを認識している必要があり、(おそらく既存のメッセージ番号参照をフラッシュして再ロードすることによって)この状況に対処する準備をする必要があります。この複雑さのため、クライアントはメッセージ番号ではなくメッセージへの参照としてメッセージオブジェクトを使用する方が適切です。消去されたメッセージオブジェクトは引き続き整理する必要がありますが、そのフォルダー内の他のメッセージオブジェクトは消去の影響を受けません。
- 作成者:
- John Mani, Bill Shannon
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int
このフォルダーには他のフォルダーを含めることができますstatic final int
このフォルダーにはメッセージを含めることができますprotected int
このフォルダーのオープンモード。static final int
フォルダーは読み取り専用です。static final int
このフォルダーの状態と内容は変更できます。protected Store
親ストア。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
このフォルダーに接続イベントのリスナーを追加します。void
この Folder に Folder イベントのリスナーを追加します。void
このフォルダーに MessageChanged イベントのリスナーを追加します。void
このフォルダーに MessageCount イベントのリスナーを追加します。abstract void
appendMessages
(Message[] msgs) 指定されたメッセージをこのフォルダーに追加します。void
close()
このフォルダーを閉じて、削除されたメッセージを消去します。abstract void
close
(boolean expunge) このフォルダーを閉じます。void
copyMessages
(Message[] msgs, Folder folder) 指定されたメッセージをこのフォルダーから別のフォルダーにコピーします。abstract boolean
create
(int type) ストアにこのフォルダーを作成します。abstract boolean
delete
(boolean recurse) このフォルダーを削除しますか。abstract boolean
exists()
このフォルダーがストアに物理的に存在するかどうかをテストします。abstract Message[]
expunge()
削除済みとマークされたメッセージを完全に削除します。void
fetch
(Message[] msgs, FetchProfile fp) 特定のメッセージの FetchProfile で指定されたアイテムをプリフェッチします。protected void
finalize()
int
このフォルダーで削除されたメッセージの数を取得します。abstract Folder
指定された名前に対応する Folder オブジェクトを返します。abstract StringSE
このフォルダーのフルネームを返します。abstract Message
getMessage
(int msgnum) 指定されたメッセージ番号に対応する Message オブジェクトを取得します。abstract int
このフォルダー内のメッセージの総数を取得します。Message[]
このフォルダーからすべてのメッセージオブジェクトを取得します。Message[]
getMessages
(int[] msgnums) 配列で指定されたメッセージ番号の Message オブジェクトを取得します。Message[]
getMessages
(int start, int end) 開始から終了まで、開始と終了の両方を含むメッセージ番号の Message オブジェクトを取得します。int
getMode()
このフォルダーのオープンモードを返します。abstract StringSE
getName()
このフォルダーの名前を返します。int
このフォルダー内の新しいメッセージの数を取得します。abstract Folder
このフォルダーの親フォルダーを返します。abstract Flags
このフォルダーでサポートされている永続的なフラグを取得します。abstract char
このフォルダーのパス名と直接のサブフォルダーの名前を区切る区切り文字を返します。getStore()
この Folder オブジェクトを所有する Store を返します。abstract int
getType()
このフォルダーの型、つまりこのフォルダーがメッセージまたはサブフォルダー、あるいはその両方を保持できるかどうかを返します。int
このフォルダー内の未読メッセージの総数を取得します。このフォルダーを表す URLName を返します。abstract boolean
この表示が最後にリセットされてからこのフォルダーに新しいメッセージがある場合は true を返します。abstract boolean
isOpen()
このフォルダーが「開いている」状態かどうかを示します。boolean
このフォルダーがサブスクライブされている場合は true を返します。Folder[]
list()
この Folder のフォルダーのリストを返す簡易メソッド。abstract Folder[]
指定されたパターンに一致する、このフォルダーの名前空間に属するフォルダーのリストを返します。Folder[]
この Folder にあるサブスクライブされたフォルダーのリストを返す簡易メソッド。Folder[]
listSubscribed
(StringSE pattern) 指定されたパターンに一致する、このフォルダーの名前空間に属するサブスクライブされたフォルダーのリストを返します。protected void
notifyConnectionListeners
(int type) すべての ConnectionListeners に通知します。protected void
notifyFolderListeners
(int type) このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に通知します。protected void
notifyFolderRenamedListeners
(Folder folder) このフォルダーおよびこのフォルダーのストアに登録されているすべての FolderListeners に、このフォルダーの名前変更について通知します。protected void
notifyMessageAddedListeners
(Message[] msgs) このフォルダーへのメッセージの追加についてすべての MessageCountListeners に通知します。protected void
notifyMessageChangedListeners
(int type, Message msg) すべての MessageChangedListeners に通知します。protected void
notifyMessageRemovedListeners
(boolean removed, Message[] msgs) このフォルダーからのメッセージの削除についてすべての MessageCountListeners に通知します。abstract void
open
(int mode) このフォルダーを開きます。void
Connection イベントリスナーを削除します。void
Folder イベントリスナーを削除します。void
MessageChanged リスナーを削除します。void
MessageCount リスナーを削除します。abstract boolean
このフォルダーの名前を変更します。Message[]
search
(SearchTerm term) このフォルダーで、指定した検索条件に一致するメッセージを検索します。Message[]
search
(SearchTerm term, Message[] msgs) 指定された検索条件に一致するメッセージがないか、指定されたメッセージの配列を検索します。void
メッセージ番号が配列にあるメッセージに指定されたフラグを設定します。void
開始から終了まで、開始から終了までの番号が付けられたメッセージに、指定されたフラグを設定します。void
配列で指定されたメッセージに指定されたフラグを設定します。void
setSubscribed
(boolean subscribe) このフォルダーを購読または購読解除します。toString()
デフォルトの toString() をオーバーライドすると、Folder.getFullName() から文字列が返されます。それが null の場合は、デフォルトの toString() の動作が使用されます。
フィールドの詳細
store
親ストア。mode
protected int modeこのフォルダーのオープンモード。オープンモードは、Folder.READ_ONLY
、Folder.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
Store オブジェクトを受け取るコンストラクター。- パラメーター:
store
- このフォルダーを保持するストア
メソッドの詳細
getName
このフォルダーの名前を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。
- 戻り値:
- フォルダーの名前
getFullName
このフォルダーの完全な名前を返します。フォルダーがこのストアのルート階層にある場合、返される名前はルートを基準にしています。それ以外の場合は、階層区切り文字で始まる絶対名が返されます。このメソッドは、閉じたフォルダーで呼び出すことができます。
- 戻り値:
- フォルダーのフルネーム
getURLName
このフォルダーを表す URLName を返します。返された URLName には、ストアへのアクセスに使用されるパスワードは含まれていません。- 戻り値:
- このフォルダーを表す URLName
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.1
- 関連事項:
getStore
この Folder オブジェクトを所有する Store を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- ストア
getParent
このフォルダーの親フォルダーを返します。このメソッドは、閉じたフォルダーで呼び出すことができます。このフォルダーがフォルダー階層の最上位の場合、このメソッドは null を返します。Folder オブジェクトはキャッシュされないため、このメソッドを呼び出すと、新しい別個の Folder オブジェクトが返されることに注意してください。
- 戻り値:
- 親フォルダー
- 例外:
MessagingException
- 失敗
exists
このフォルダーがストアに物理的に存在するかどうかをテストします。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- フォルダーが存在する場合は true、それ以外の場合は false
- 例外:
MessagingException
- 通常、サーバーへの接続が失われた場合。- 関連事項:
list
このフォルダーの名前空間に属し、指定したパターンに一致するフォルダーのリストを返します。パターンには、階層区切り文字を除くすべての文字と一致するワイルドカード文字"%"
と、任意の文字と一致する"*"
を含めることができます。例として、フォルダー階層が与えられた場合:
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
このフォルダーの名前空間に属し、指定されたパターンに一致するサブスクライブされたフォルダーのリストを返します。フォルダーがサブスクリプションをサポートしていない場合、このメソッドはlist
に解決されます。(ここで提供されるデフォルトの実装はこれを行います)。list
の場合と同様に、パターンにはワイルドカードを含めることができます。フォルダー階層の特定のレベルでは、特定のフォルダーはサブスクライブされない場合がありますが、フォルダー階層内のそのフォルダーにあるフォルダーはサブスクライブされる場合があります。フォルダー階層をたどることを可能にするために、そのようなサブスクライブされていないフォルダーが返され、階層のフォルダーがサブスクライブされていることを示します。フォルダーの
isSubscribed
メソッドは、特定のフォルダーが実際にサブスクライブされているかどうかを通知します。Folder オブジェクトは Store によってキャッシュされないため、同じパターンでこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。
このメソッドは、閉じたフォルダーで呼び出すことができます。
- パラメーター:
pattern
- マッチパターン- 戻り値:
- 一致するサブスクライブされた Folder オブジェクトの配列。一致するサブスクライブ済みフォルダーが存在しない場合は、空の配列が返されます。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合- 関連事項:
list
この Folder にあるフォルダーのリストを返す簡易メソッド。このメソッドは、"%"
を一致パターンとして使用して、list(String pattern)
メソッドを呼び出すだけです。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- この Folder の Folder オブジェクトの配列。サブフォルダーが存在しない場合は、空の配列が返されます。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合- 関連事項:
listSubscribed
この Folder のサブスクライブされたフォルダーのリストを返す簡易メソッド。このメソッドは、"%"
を一致パターンとして使用して、listSubscribed(String pattern)
メソッドを呼び出すだけです。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- この Folder のサブスクライブされた Folder オブジェクトの配列。サブスクライブされたサブフォルダーが存在しない場合は、空の配列が返されます。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合- 関連事項:
getSeparator
このフォルダーのパス名と直接のサブフォルダーの名前を区切る区切り文字を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- 階層区切り文字
- 例外:
FolderNotFoundException
- 実装にフォルダーの存在が必要だが、そうではない場合MessagingException
getType
このフォルダーの型、つまりこのフォルダーがメッセージまたはサブフォルダー、あるいはその両方を保持できるかどうかを返します。戻り値は、適切なビットが設定された整数ビットフィールドです。このメソッドは、閉じたフォルダーで呼び出すことができます。- 戻り値:
- 適切なビットが設定された整数
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- 関連事項:
create
ストアにこのフォルダーを作成します。このフォルダーが作成されると、そのパスに存在しないフォルダーも作成されます。作成が成功した場合、CREATED FolderEvent は、このフォルダーとこのストアに登録されているすべての FolderListeners に配信されます。
- パラメーター:
type
- このフォルダーの型。- 戻り値:
- 作成が成功した場合は true、それ以外の場合は false。
- 例外:
MessagingException
- 失敗- 関連事項:
isSubscribed
public boolean isSubscribed()このフォルダーがサブスクライブされている場合は true を返します。このメソッドは、閉じたフォルダーで呼び出すことができます。
ここで提供されるデフォルトの実装は true を返すだけです。
- 戻り値:
- このフォルダーが購読されている場合は true
setSubscribed
このフォルダーを購読または購読解除します。すべてのストアがサブスクリプションをサポートしているわけではありません。このメソッドは、閉じたフォルダーで呼び出すことができます。
ここで提供される実装は、MethodNotSupportedException をスローするだけです。
- パラメーター:
subscribe
- サブスクライブする場合は true、サブスクライブしない場合は false- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MethodNotSupportedException
- このストアがサブスクリプションをサポートしていない場合MessagingException
- その他の障害の場合
hasNewMessages
この表示が最後にリセットされてからこのフォルダーに新しいメッセージがある場合は true を返します。この表示が設定またはリセットされるタイミングは、フォルダーの実装によって異なります(IMAP の場合はサーバーによって異なります)。このメソッドを使用すると、フォルダーを開かずに軽量の「新着メールのチェック」操作をフォルダーに実装できます。(例: メールボックスを監視し、新しいメールがあるときにフラグを立てるスレッド)このメソッドは、フォルダー内のメッセージにRECENT
フラグが設定されているかどうかを示す必要があります。これは新しいメールの増分チェックではないことに注意してください。つまり、このメソッドが最後に呼び出されてから新しいメッセージが到着したかどうかを判断するために使用することはできません。インクリメンタルチェックを実装するには、フォルダーを開く必要があります。
このメソッドは、メッセージを含めることができる閉じたフォルダーで呼び出すことができます。
- 戻り値:
- ストアに新しいメッセージがある場合は true
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合
getFolder
指定された名前に対応する Folder オブジェクトを返します。このフォルダーは、物理的にストアに存在する必要はありません。フォルダーのexists()
メソッドは、それが実際にストアに存在するかどうかを示します。一部のストアでは、階層区切り文字で始まる場合、名前は絶対パスにすることができます。それ以外の場合は、このフォルダーに関連して解釈されます。
Folder オブジェクトは Store によってキャッシュされないため、同じ名前でこのメソッドを複数回呼び出すと、その多くの異なる Folder オブジェクトが返されます。
このメソッドは、閉じたフォルダーで呼び出すことができます。
- パラメーター:
name
- フォルダーの名前- 戻り値:
- フォルダーオブジェクト
- 例外:
MessagingException
- 失敗
delete
このフォルダーを削除します。このメソッドは、閉じたフォルダーでのみ成功します。recurse
フラグは、削除がサブフォルダーに影響するかどうかを制御します。true の場合、すべてのサブフォルダーが削除され、このフォルダー自体が削除されます。false の場合、動作はフォルダー型に依存し、以下で詳しく説明します。- フォルダーにはメッセージのみを含めることができます(型 == HOLDS_MESSAGES)。
フォルダー内のすべてのメッセージが削除されます。その後、フォルダー自体が削除されます。適切な FolderEvent がストアとこのフォルダーによって生成されます。 - フォルダーにはサブフォルダーのみを含めることができます(型 == HOLDS_FOLDERS)。
このフォルダーが空の場合(サブフォルダーがまったく含まれていない場合)、削除されます。適切な FolderEvent がストアとこのフォルダーによって生成されます。
このフォルダーにサブフォルダーが含まれている場合、削除は失敗し、false が返されます。 - フォルダーには、サブフォルダーとメッセージを含めることができます。
フォルダーが空の場合(メッセージやサブフォルダーがない場合)、そのフォルダーは削除されます。フォルダーにサブフォルダーがなく、メッセージのみが含まれている場合、すべてのメッセージが削除されます。その後、フォルダー自体が削除されます。上記のどちらの場合でも、適切な FolderEvent がストアとこのフォルダーによって生成されます。フォルダーにサブフォルダーが含まれている場合、3 つの選択肢があり、実装は自由です。
- このフォルダーにメッセージが含まれているかどうかに関係なく、操作は失敗します。一部の実装では、この単純なアプローチを採用することがあります。delete() メソッドは false を返します。
- フォルダー内のメッセージはすべて削除されます。サブフォルダーは削除されません。フォルダー自体が削除されたり、影響を受けることはありません。delete() メソッドは true を返します。そして、このフォルダーの exists() メソッドは、このフォルダーがまだ存在することを示す true を返します。
適切な FolderEvent がストアとこのフォルダーによって生成されます。 - フォルダー内のメッセージはすべて削除されます。サブフォルダーは削除されません。フォルダー自体の型が HOLDS_FOLDERS から変更されます。HOLDS_MESSAGES 〜 HOLDS_FOLDERS。このフォルダーに新しいメッセージを追加することはできませんが、そに新しいサブフォルダーを作成できます。delete() メソッドは、成功を示す true を返します。このフォルダーの exists() メソッドは、このフォルダーがまだ存在することを示す true を返します。
適切な FolderEvent がストアとこのフォルダーによって生成されます。
- パラメーター:
recurse
- サブフォルダーも削除しますか?- 戻り値:
- フォルダーが正常に削除された場合は true
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合IllegalStateExceptionSE
- このフォルダーが閉じた状態でない場合。MessagingException
- その他の障害の場合- 関連事項:
- フォルダーにはメッセージのみを含めることができます(型 == HOLDS_MESSAGES)。
renameTo
このフォルダーの名前を変更します。このメソッドは、閉じたフォルダーでのみ成功します。名前の変更が成功した場合、名前が変更された FolderEvent が、このフォルダーとその格納ストアに登録されている FolderListeners に配信されます。
- パラメーター:
f
- このフォルダーの新しい名前を表すフォルダー- 戻り値:
- フォルダーの名前が正常に変更された場合は true
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合IllegalStateExceptionSE
- このフォルダーが閉じた状態でない場合。MessagingException
- その他の障害の場合- 関連事項:
open
このフォルダーを開きます。このメソッドは、メッセージを含めることができ、閉じられているフォルダーでのみ有効です。このフォルダーが正常に開かれると、OPENED ConnectionEvent がこのフォルダーに登録されている ConnectionListeners に配信されます。
特定のストアの同じフォルダーへの複数の接続を開くことの影響は、実装に依存します。一部の実装では複数のリーダーが許可されていますが、ライターは 1 つだけです。他のユーザーは、複数のライターとリーダーを許可します。
- パラメーター:
mode
- READ_ONLY または READ_WRITE フォルダーを開きます- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが閉じた状態でない場合。MessagingException
- その他の障害の場合- 関連事項:
close
このフォルダーを閉じます。このメソッドは、開いているフォルダーでのみ有効です。CLOSED ConnectionEvent は、このフォルダーに登録されている ConnectionListeners に配信されます。このメソッドが MessagingException をスローすることによって異常終了した場合でも、フォルダーは閉じられていることに注意してください。
- パラメーター:
expunge
- このフラグが true の場合、削除されたすべてのメッセージを消去します- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合MessagingException
- その他の障害の場合- 関連事項:
close
このフォルダーを閉じて、削除されたメッセージを消去します。CLOSED ConnectionEvent は、このフォルダーに登録されている ConnectionListeners に配信されます。このメソッドが MessagingException をスローすることによって異常終了した場合でも、フォルダーは閉じられていることに注意してください。
このメソッドは、
AutoCloseable
SE インターフェースをサポートします。この実装は
close(true)
を呼び出します。- 次で指定:
- インターフェース
AutoCloseableSE
のclose
- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.6
- 関連事項:
isOpen
public abstract boolean isOpen()このフォルダーが「開いている」状態かどうかを示します。- 戻り値:
- このフォルダーが「オープン」状態の場合は true。
getMode
public int getMode()このフォルダーのオープンモードに戻ります。オープンモードが不明な場合は、Folder.READ_ONLY
、Folder.READ_WRITE
、-1 を返します(通常、古いFolder
プロバイダーがこの新しいメソッドを使用するように更新されていないためのみ)。- 戻り値:
- このフォルダーのオープンモード
- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合- 導入:
- JavaMail 1.1
getPermanentFlags
このフォルダーでサポートされている永続的なフラグを取得します。サポートされているすべてのフラグを含む Flags オブジェクトを返します。特別なフラグ
Flags.Flag.USER
は、このフォルダーが任意のユーザー定義フラグをサポートすることを示します。フォルダーがサポートされる永続的なフラグは、フォルダーが開かれるまで使用できない場合があります。
- 戻り値:
- 永続的なフラグ。不明な場合は null
getMessageCount
このフォルダー内のメッセージの総数を取得します。このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、合計メッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる可能性があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。
閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。
- 戻り値:
- メッセージの総数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合
getNewMessageCount
このフォルダー内の新しいメッセージの数を取得します。このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、新しいメッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる場合があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。
閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。
この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は
getMessage(int)
を使用してフォルダー内の各メッセージを取得し、そのRECENT
フラグが設定されているかどうかを確認します。このフラグが設定されているメッセージの総数が返されます。- 戻り値:
- 新しいメッセージの数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合
getUnreadMessageCount
このフォルダー内の未読メッセージの総数を取得します。このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、未読メッセージ数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる可能性があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。
閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。
この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は
getMessage(int)
を使用してフォルダー内の各メッセージを取得し、そのSEEN
フラグが設定されているかどうかを確認します。このフラグが設定されていないメッセージの総数が返されます。- 戻り値:
- 未読メッセージの総数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返されることがあります。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合
getDeletedMessageCount
このフォルダーで削除されたメッセージの数を取得します。このメソッドは、閉じたフォルダーで呼び出すことができます。ただし、一部のフォルダー実装では、削除されたメッセージの数を取得することは、実際にフォルダーを開くことを伴う高コストの操作になる場合があることに注意してください。このような場合、プロバイダーは、閉じた状態でこの機能をサポートしないことを選択できます。その場合、このメソッドは -1 を返す必要があります。
閉じたフォルダーでこのメソッドを呼び出すクライアントは、これが潜在的にコストのかかる操作であることを認識する必要があります。この場合、クライアントは戻り値 -1 を処理できるように準備する必要があります。
この実装は、このフォルダーが閉じている場合、-1 を返します。そうでない場合、この実装は
getMessage(int)
を使用してフォルダー内の各メッセージを取得し、そのDELETED
フラグが設定されているかどうかを確認します。このフラグが設定されているメッセージの総数が返されます。- 戻り値:
- 削除されたメッセージの数。このメソッドが閉じたフォルダーで呼び出された場合、特定の実装によって -1 が返される場合があります。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.3
getMessage
指定されたメッセージ番号に対応する Message オブジェクトを取得します。メッセージオブジェクトのメッセージ番号は、そのフォルダー内のこのメッセージの相対的な位置です。メッセージには、フォルダー内のメッセージの総数から 1 から始まる番号が付けられます。特定のメッセージのメッセージ番号は、フォルダー内の他のメッセージが削除されてフォルダーが消去された場合、セッション中に変更される可能性があることに注意してください。メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。
Folder オブジェクトとは異なり、このフォルダー内のメッセージが削除されていない限り、同じメッセージ番号で getMessage を繰り返し呼び出すと、同じ Message オブジェクトが返されます。
フォルダーが消去されると、セッション内でメッセージ番号が変更される可能性があるため、クライアントはメッセージへの参照としてメッセージ番号を使用しないことをお勧めします。代わりにメッセージオブジェクトを使用してください。
- パラメーター:
msgnum
- メッセージ番号- 戻り値:
- メッセージオブジェクト
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合IndexOutOfBoundsExceptionSE
- メッセージ番号が範囲外の場合。MessagingException
- その他の障害の場合- 関連事項:
getMessages
開始から終了までの範囲のメッセージ番号(開始と終了の両方を含む)のメッセージオブジェクトを取得します。メッセージ番号は 0 ではなく 1 から始まることに注意してください。メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。
この実装では、必要なメッセージオブジェクトを取得するために getMessage(index) を使用します。返される配列には
(end-start+1)
メッセージオブジェクトが含まれている必要があることに注意してください。- パラメーター:
start
- 最初のメッセージの番号end
- 最後のメッセージの番号- 戻り値:
- メッセージオブジェクト
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合。IndexOutOfBoundsExceptionSE
- 開始メッセージ番号または終了メッセージ番号が範囲外の場合。MessagingException
- その他の障害の場合- 関連事項:
getMessages
配列で指定されたメッセージ番号の Message オブジェクトを取得します。メッセージオブジェクトは、オンデマンドでいっぱいになる実際のメッセージへの軽量の参照です。フォルダーの実装は、軽量のメッセージオブジェクトを提供することが期待されます。
この実装では、必要なメッセージオブジェクトを取得するために getMessage(index) を使用します。返される配列には
msgnums.length
メッセージオブジェクトが含まれている必要があることに注意してください。- パラメーター:
msgnums
- メッセージ番号の配列- 戻り値:
- メッセージオブジェクトの配列。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合。IndexOutOfBoundsExceptionSE
- 指定された配列のメッセージ番号が範囲外の場合。MessagingException
- その他の障害の場合- 関連事項:
getMessages
このフォルダーからすべてのメッセージオブジェクトを取得します。フォルダーが空の場合は空の配列を返します。クライアントは、フォルダー内のメッセージへの参照として(シーケンス番号の代わりに)メッセージオブジェクトを使用できます。このメソッドは、メッセージオブジェクトをクライアントに提供します。フォルダーの実装は、必要に応じて埋められる軽量のメッセージオブジェクトを提供することが期待されています。この実装は、
getMessageCount()
を呼び出して現在のメッセージ数を取得し、次にgetMessage()
を使用してメッセージオブジェクトを 1 からメッセージ数まで取得します。- 戻り値:
- メッセージオブジェクトの配列。フォルダーが空の場合は空の配列。
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合。MessagingException
- その他の障害の場合- 関連事項:
appendMessages
指定されたメッセージをこのフォルダーに追加します。このメソッドは、閉じたフォルダーで呼び出すことができます。メッセージがフォルダーに到着すると、適切な MessageCountEvent がこのフォルダーに登録されている MessageCountListener に配信されます。指定されたメッセージ配列内のメッセージが消去されたメッセージであることが判明した場合、フォルダーの実装はこの操作を中止してはなりません。
- パラメーター:
msgs
- 追加するメッセージの配列- 例外:
MessagingException
- 追加が失敗した場合。FolderNotFoundException
- このフォルダーが存在しない場合。
fetch
特定のメッセージの 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
配列で指定されたメッセージに指定されたフラグを設定します。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されている MessageChangedListener に配信されます。指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに
Message.setFlags
を呼び出すのではなく、この方法を使用することをお勧めします。この実装は、各メッセージオブジェクトで
setFlags()
を呼び出すように縮退します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、配列内のメッセージが消去されたメッセージであることが判明した場合、実装は操作を中止してはなりません。- パラメーター:
msgs
- メッセージオブジェクトの配列flag
- 設定するフラグを含む Flags オブジェクトvalue
- フラグをこのブール値に設定します- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。MessagingException
- その他の障害の場合- 関連事項:
setFlags
開始から終了まで、開始と終了の両方で番号が付けられたメッセージに、指定されたフラグを設定します。メッセージ番号は 0 ではなく 1 から始まることに注意してください。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されているすべての MessageChangedListener に配信されます。特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに
Message.setFlags
を呼び出すのではなく、この方法を使用することをお勧めします。デフォルトの実装では、
getMessage(int)
を使用して各Message
オブジェクトを取得し、そのオブジェクトでsetFlags
を呼び出してフラグを設定します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、メッセージ番号が消去されたメッセージを参照している場合、実装は操作を中止してはなりません。- パラメーター:
start
- 最初のメッセージの番号end
- 最後のメッセージの番号flag
- 設定するフラグを含む Flags オブジェクトvalue
- フラグをこのブール値に設定します- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。IndexOutOfBoundsExceptionSE
- 開始メッセージ番号または終了メッセージ番号が範囲外の場合。MessagingException
- その他の障害の場合- 関連事項:
setFlags
メッセージ番号が配列にあるメッセージに指定されたフラグを設定します。これにより、適切な MessageChangedEvents が、このメッセージを含むフォルダーに登録されている MessageChangedListener に配信されます。特定のフォルダーの実装では、メッセージのグループにフラグを設定する操作を最適化できるため、クライアントは、メッセージごとに
Message.setFlags
を呼び出すのではなく、この方法を使用することをお勧めします。デフォルトの実装では、
getMessage(int)
を使用して各Message
オブジェクトを取得し、そのオブジェクトでsetFlags
を呼び出してフラグを設定します。このケースを最適化できる特定のフォルダーの実装は、そうする必要があります。また、メッセージ番号が消去されたメッセージを参照している場合、実装は操作を中止してはなりません。- パラメーター:
msgnums
- メッセージ番号の配列flag
- 設定するフラグを含む Flags オブジェクトvalue
- フラグをこのブール値に設定します- 例外:
IllegalStateExceptionSE
- このフォルダーが開かれていない場合、または READ_ONLY で開かれている場合。IndexOutOfBoundsExceptionSE
- 指定された配列のメッセージ番号が範囲外の場合。MessagingException
- その他の障害の場合- 関連事項:
copyMessages
指定したメッセージをこのフォルダーから別のフォルダーにコピーします。この操作により、これらのメッセージが宛先フォルダーに追加されます。宛先フォルダーを開く必要はありません。メッセージがフォルダーに到着すると、適切な MessageCountEvent が宛先フォルダーに登録されている MessageCountListener に配信されます。指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。フォルダーの実装では、サーバー側のコピーを実行することで、この方法を最適化できる可能性があります。
この実装は、宛先フォルダーで
appendMessages()
を呼び出して、指定されたメッセージを追加するだけです。サーバー側のコピーをサポートする特定のフォルダーの実装は、宛先フォルダーのストアがこのフォルダーのストアと同じである場合にサポートする必要があります。また、配列内のメッセージが消去されたメッセージであることが判明した場合、実装は操作を中止してはなりません。- パラメーター:
msgs
- メッセージオブジェクトの配列folder
- メッセージをコピーするフォルダー- 例外:
FolderNotFoundException
- 宛先フォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合。MessagingException
- その他の障害の場合- 関連事項:
expunge
DELETED とマークされたメッセージを消去(完全に削除)します。消去されたメッセージオブジェクトを含む配列を返します。これらの各メッセージオブジェクトのgetMessageNumber
メソッドは、そのメッセージの元の(つまり、消去前の)シーケンス番号を返します。消去されたメッセージを含む MessageCountEvent は、フォルダーに登録されているすべての MessageCountListeners に配信されます。消去すると、消去されたメッセージに続いてメッセージオブジェクトの番号が付け直されます。メッセージへの参照としてメッセージ番号を使用するクライアントは、これを認識し、状況に対処する準備をする必要があります(おそらく、既存のメッセージ番号キャッシュをフラッシュして再ロードすることによって)。この複雑さのため、クライアントはメッセージ番号ではなく、メッセージへの参照としてメッセージオブジェクトを使用する方が適切です。消去された Messages オブジェクトは引き続き削除する必要がありますが、そのフォルダー内の他のメッセージは消去の影響を受けません。
メッセージが消去された後も、対応する Message オブジェクトでは
isExpunged
メソッドとgetMessageNumber
メソッドのみが引き続き有効です。他の方法ではMessageRemovedException
がスローされる可能性があります- 戻り値:
- 消去されたメッセージオブジェクトの配列
- 例外:
FolderNotFoundException
- このフォルダーが存在しない場合IllegalStateExceptionSE
- このフォルダーが開かれていない場合。MessagingException
- その他の障害の場合- 関連事項:
search
指定された検索条件に一致するメッセージをこのフォルダーで検索します。一致するメッセージを含む配列を返します。一致するものが見つからなかった場合は、空の配列を返します。この実装は
search(term, getMessages())
を呼び出して、このフォルダー内のすべてのメッセージに検索を適用します。サーバー側の検索を実装できるプロバイダーは、より効率的な実装を提供するために、このメソッドをオーバーライドすることをお勧めします。- パラメーター:
term
- 検索基準- 戻り値:
- 一致するメッセージの配列
- 例外:
SearchException
- 検索語が複雑すぎて実装で処理できない場合。FolderNotFoundException
- このフォルダーが存在しない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合。MessagingException
- その他の障害の場合- 関連事項:
search
指定されたメッセージの配列で、指定された検索条件に一致するメッセージを検索します。一致するメッセージを含む配列を返します。一致するものが見つからなかった場合は、空の配列を返します。指定されたメッセージオブジェクト はこのフォルダーに属している必要があることに注意してください。
この実装は、指定されたメッセージの配列を反復処理し、指定された用語で
match()
メソッドを呼び出すことにより、各メッセージに検索基準を適用します。一致に成功したメッセージが返されます。サーバー側の検索を実装できるプロバイダーは、より効率的な実装を提供するために、このメソッドをオーバーライドすることをお勧めします。検索用語が複雑すぎるか、サーバーで実行できないユーザー定義の用語が含まれている場合、プロバイダーは SearchException をスローするか、super.search()
を呼び出してこの実装を呼び出すことでクライアント側の検索に縮退するかを選択できます。- パラメーター:
term
- 検索基準msgs
- 検索するメッセージ- 戻り値:
- 一致するメッセージの配列
- 例外:
SearchException
- 検索語が複雑すぎて実装で処理できない場合。IllegalStateExceptionSE
- このフォルダーが開かれていない場合MessagingException
- その他の障害の場合- 関連事項:
addConnectionListener
このフォルダーに接続イベントのリスナーを追加します。ここで提供される実装は、このリスナーを ConnectionListeners の内部リストに追加します。
- パラメーター:
l
- 接続イベントのリスナー- 関連事項:
removeConnectionListener
Connection イベントリスナーを削除します。ここで提供される実装は、ConnectionListeners の内部リストからこのリスナーを削除します。
- パラメーター:
l
- リスナー- 関連事項:
notifyConnectionListeners
protected void notifyConnectionListeners(int type) すべての ConnectionListeners に通知します。フォルダーの実装では、このメソッドを使用して接続イベントをブロードキャストすることが期待されています。提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された ConnectionListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。
- パラメーター:
type
- ConnectionEvent 型- 関連事項:
addFolderListener
この Folder に Folder イベントのリスナーを追加します。ここで提供される実装は、このリスナーを FolderListeners の内部リストに追加します。
- パラメーター:
l
- Folder イベントのリスナー- 関連事項:
removeFolderListener
Folder イベントリスナーを削除します。ここで提供される実装は、FolderListeners の内部リストからこのリスナーを削除します。
- パラメーター:
l
- リスナー- 関連事項:
notifyFolderListeners
protected void notifyFolderListeners(int type) このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に通知します。フォルダーの実装では、このメソッドを使用してフォルダーイベントをブロードキャストすることが期待されています。ここで提供される実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、このフォルダーに登録されている FolderListeners にディスパッチします。実装はまた、このフォルダーのストアで
notifyFolderListeners
を呼び出して、ストアに登録されている FolderListeners に通知します。- パラメーター:
type
- FolderEvent の型- 関連事項:
notifyFolderRenamedListeners
このフォルダーとこのフォルダーのストアに登録されているすべての FolderListeners に、このフォルダーの名前の変更を通知します。フォルダーの実装では、このメソッドを使用して、フォルダーの名前変更を示すフォルダーイベントをブロードキャストすることが期待されています。ここで提供される実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、このフォルダーに登録されている FolderListeners にディスパッチします。実装はまた、このフォルダーのストアで
notifyFolderRenamedListeners
を呼び出して、ストアに登録されている FolderListeners に通知します。- パラメーター:
folder
- 新しい名前を表すフォルダー。- 導入:
- JavaMail 1.1
- 関連事項:
addMessageCountListener
このフォルダーに MessageCount イベントのリスナーを追加します。ここで提供される実装は、このリスナーを MessageCountListeners の内部リストに追加します。
- パラメーター:
l
- MessageCount イベントのリスナー- 関連事項:
removeMessageCountListener
MessageCount リスナーを削除します。ここで提供される実装は、MessageCountListeners の内部リストからこのリスナーを削除します。
- パラメーター:
l
- リスナー- 関連事項:
notifyMessageAddedListeners
このフォルダーへのメッセージの追加について、すべての MessageCountListeners に通知します。フォルダーの実装では、このメソッドを使用して、新しいメッセージの到着を示す MessageCount イベントをブロードキャストすることが期待されています。提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageCountListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。
- パラメーター:
msgs
- 追加されたメッセージ
notifyMessageRemovedListeners
このフォルダーからのメッセージの削除について、すべての MessageCountListeners に通知します。フォルダーの実装では、このメソッドを使用して、メッセージの削除を示す MessageCount イベントをブロードキャストすることが期待されています。提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageCountListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。
- パラメーター:
removed
- メッセージはこのクライアントによって削除されましたか?msgs
- 削除されたメッセージ
addMessageChangedListener
このフォルダーに MessageChanged イベントのリスナーを追加します。ここで提供される実装は、このリスナーを MessageChangedListeners の内部リストに追加します。
- パラメーター:
l
- MessageChanged イベントのリスナー- 関連事項:
removeMessageChangedListener
MessageChanged リスナーを削除します。ここで提供される実装は、MessageChangedListeners の内部リストからこのリスナーを削除します。
- パラメーター:
l
- リスナー- 関連事項:
notifyMessageChangedListeners
すべての MessageChangedListeners に通知します。フォルダーの実装では、このメソッドを使用して MessageChanged イベントをブロードキャストすることが期待されています。提供された実装は、イベントを内部イベントキューにキューイングします。イベントディスパッチャースレッドは、イベントをキューからデキューし、登録された MessageChangedListeners にディスパッチします。イベントディスパッチは別のスレッドで発生するため、潜在的なデッドロックの問題を回避できることに注意してください。
- パラメーター:
type
- MessageChangedEvent 型msg
- 変わったメッセージ
finalize
- オーバーライド:
- クラス
ObjectSE
のfinalize
- 例外:
ThrowableSE
toString
デフォルトの toString() をオーバーライドすると、Folder.getFullName() から文字列が返されます。それが null の場合は、デフォルトの toString() の動作が使用されます。