クラス MailcapCommandMap
Mailcap ファイルの検索順序:
MailcapCommandMap は、ユーザーのシステムのさまざまな場所で mailcap ファイルエントリを探します。MailcapCommandMap でコマンドの検索がリクエストされると、次の順序で mailcap ファイルが検索されます。
- プログラムで MailcapCommandMap インスタンスにエントリを追加しました。
- ユーザーのホームディレクトリにあるファイル
.mailcap。 - Java ランタイムのファイル
mailcap。 META-INF/mailcapという名前のファイルまたはリソース。META-INF/mailcap.defaultという名前のファイルまたはリソース(通常はactivation.jarファイルにのみあります)。
(現在の実装では、Java ランタイムで java.home/conf ディレクトリが存在する場合は mailcap ファイルを検索し、存在しない場合は java.home/lib ディレクトリで mailcap ファイルを検索します 。java.home は "java.home" システムプロパティの値です。"conf" ディレクトリが導入されたことに注意してください。JDK 9 で)
Mailcap ファイル形式:
Mailcap ファイルは、mailcap ファイルの仕様(RFC 1524、 マルチメディアメール形式情報のユーザーエージェント構成メカニズム)に準拠している必要があります。ファイル形式は、特定の MIME 型に対応するエントリで構成されます。一般に、仕様では、クライアントが指定された MIME 型で操作できない場合にクライアントが使用するアプリケーションを指定しています。MailcapCommandMap は、メールキャップファイルのパラメーターメカニズムを使用してこの仕様を継承します。これにより、JavaBeans(tm)コンポーネントを MIME 型の特定のコマンドに対応するものとして指定できます。
mailcap ファイルが解析されると、MailcapCommandMap は特定のパラメーター署名、特に x-java- で始まるパラメーター名を認識します。MailcapCommandMap は、このシグニチャを使用して、レジストリに含めるコマンドエントリを検索します。x-java-<name> の形式のパラメーター名は、名前 name のコマンドを識別するものとして MailcapCommandMap によって読み取られます。 名前が content-handler あるとき MailcapCommandMap は DataContentHandler として、このパラメーターによってシニフィエクラスを認識します。他のすべてのコマンドは、コマンド名に関係なく一般的に処理されます。コマンドの実装は、JavaBean(tm)コンポーネントの完全修飾クラス名によって指定されます。たとえば ; 一部のデータを表示するためのコマンドは、x-java-view=com.foo.ViewBean として指定できます。
コマンド名が fallback-entry の場合、コマンドの値は true または false の場合があります。x-java-fallback-entry=true のパラメーターを含む MIME 型のエントリは、非フォールバックエントリが見つからない場合にのみ使用されるその MIME 型のフォールバックコマンドを定義します。例: text/*; ; x-java-fallback-entry=true; x-java-view=com.sun.TextViewer 形式のエントリは、任意のテキスト MIME 型に使用される表示コマンドを指定します。この view コマンドは、MIME 型の非フォールバック view コマンドが見つからなかった場合にのみ使用されます。
MailcapCommandMap 対応の mailcap ファイルの一般的な形式は次のとおりです。
# Comments begin with a '#' and continue to the end of the line.
<mime type>; ; <parameter list>
# Where a parameter list consists of one or more parameters,
# where parameters look like: x-java-view=com.sun.TextViewer
# and a parameter list looks like:
text/plain; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# Note that mailcap entries that do not contain 'x-java' parameters
# and comply to RFC 1524 are simply ignored:
image/gif; /usr/dt/bin/sdtimage %s
- 作成者:
- Bart Calder, Bill Shannon
コンストラクターの概要
コンストラクターコンストラクター説明デフォルトのコンストラクター。呼び出し元が mailcap ファイルを含む InputStream を指定できるようにするコンストラクター。MailcapCommandMap(StringSE fileName) 呼び出し元が mailcap ファイルのパスを指定できるようにするコンストラクター。方法の概要
修飾子と型メソッド説明voidaddMailcap(StringSE mail_cap) レジストリにエントリを追加します。createDataContentHandler(StringSE mimeType) 指定された MIME 型の DataContentHandler を返します。getAllCommands(StringSE mimeType) この MIME 型の MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なすべてのコマンドを取得します。getCommand(StringSE mimeType, StringSE cmdName) MIME 型のcmdNameに対応するコマンドを取得します。StringSE[]このコマンドマップで認識されているすべての MIME 型を取得します。StringSE[]getNativeCommands(StringSE mimeType) 指定された MIME 型のネイティブコマンドを取得します。getPreferredCommands(StringSE mimeType) MIME 型の優先コマンドリストを取得します。クラス jakarta.activation.CommandMap から継承されたメソッド
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMap
コンストラクターの詳細
MailcapCommandMap
public MailcapCommandMap()デフォルトのコンストラクター。MailcapCommandMap
呼び出し元が mailcap ファイルのパスを指定できるようにするコンストラクター。- パラメーター:
fileName- 開く mailcap ファイルの名前- 例外:
IOExceptionSE- ファイルにアクセスできない場合
MailcapCommandMap
呼び出し元が mailcap ファイルを含む InputStream を指定できるようにするコンストラクター。- パラメーター:
is- 開く mailcap ファイルの InputStream
メソッドの詳細
getPreferredCommands
MIME 型の優先コマンドリストを取得します。MailcapCommandMap は、上記の Mailcap ファイルの検索順序で説明したように mailcap ファイルを検索します。検索の結果は、MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なコマンドの適切なサブセットです。特定のコマンドの最初のエントリは、優先コマンドと見なされます。
- 次で指定:
- クラス
CommandMapのgetPreferredCommands - パラメーター:
mimeType- MIME 型- 戻り値:
- 優先コマンドを表す CommandInfo オブジェクト。
getAllCommands
この MIME 型の MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なすべてのコマンドを取得します。- 次で指定:
- クラス
CommandMapのgetAllCommands - パラメーター:
mimeType- MIME 型- 戻り値:
- すべてのコマンドを表す CommandInfo オブジェクト。
getCommand
MIME 型のcmdNameに対応するコマンドを取得します。- 次で指定:
- クラス
CommandMapのgetCommand - パラメーター:
mimeType- MIME 型cmdName- コマンド名- 戻り値:
- コマンドに対応する CommandInfo オブジェクト。
addMailcap
レジストリにエントリを追加します。プログラムで追加されたエントリは、他のエントリの前に検索されます。渡される文字列は、mailcap 形式である必要があります。
- パラメーター:
mail_cap- 正しくフォーマットされた mailcap 文字列
createDataContentHandler
指定された MIME 型の DataContentHandler を返します。- 次で指定:
- クラス
CommandMapのcreateDataContentHandler - パラメーター:
mimeType- MIME 型- 戻り値:
- DataContentHandler
getMimeTypes
このコマンドマップで認識されているすべての MIME 型を取得します。- オーバーライド:
- クラス
CommandMapのgetMimeTypes - 戻り値:
- 文字列としての MIME 型の配列
- 導入:
- JAF 1.1
getNativeCommands
指定された MIME 型のネイティブコマンドを取得します。文字列の配列を返します。各文字列は mailcap ファイルエントリ全体です。アプリケーションは、エントリを解析して、実際のコマンドと必要な属性を抽出する必要があります。mailcap エントリ構文の詳細については、RFC 1524 を参照してください。指定された MIME 型のビューコマンドを指定する mailcap エントリのみが返されます。- パラメーター:
mimeType- MIME 型- 戻り値:
- ネイティブコマンドエントリの配列
- 導入:
- JAF 1.1