public class MailcapCommandMap extends CommandMap
mailcap ファイルの検索順序
MailcapCommandMap は、ユーザーのシステムのさまざまな場所を検索して mailcap ファイルのエントリを見つけます。MailcapCommandMap でコマンド検索の要求が出されると、次の順序で mailcap ファイルを検索します。
.mailcap
。
/lib/mailcap
。
META-INF/mailcap
というファイルまたはリソース。
META-INF/mailcap.default
というファイルまたはリソース (通常は activation.jar
ファイルだけにある)。
mailcap ファイルの形式
mailcap ファイルは、mailcap ファイル仕様 (RFC 1524「A User Agent Configuration Mechanism For Multimedia Mail Format Information」) に準拠していなければいけません。ファイル形式は、特定の MIME タイプに対応するエントリから構成されます。一般に、この仕様には、クライアント自体が指定の MIME タイプを処理できないときに使用するアプリケーションが指定されています。MailcapCommandMap は、mailcap ファイルのパラメータメカニズムを使ってこの仕様を拡張します。このパラメータメカニズムを使用すると、JavaBeans(TM) コンポーネントを MIME タイプの特定のコマンドに対応するように指定できます。
mailcap ファイルが構文解析されると、MailcapCommandMap は特定のパラメータシグニチャー、特に x-java-
で始まるパラメータ名を識別します。MailcapCommandMap はこのシグニチャーを使って、そのレジストリに格納するためのコマンドエントリを見つけます。MailcapCommandMap は、name という名前のコマンドを識別するときに、x-java-<name>
というパラメータ名を読み取ります。name が content-handler
であるときは、このパラメータによって示されたクラスは DataContentHandler とみなされます。ほかのすべてのコマンドは、コマンド名に関係なく包括的に処理されます。コマンドの実装は、JavaBeans(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 タイプで使用する表示コマンドを指定します。この表示コマンドは、MIME タイプの非代替表示コマンドが見つからない場合にのみ使用されます。
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
コンストラクタと説明 |
---|
MailcapCommandMap()
デフォルトのコンストラクタです。
|
MailcapCommandMap(InputStream is)
呼び出し側が mailcap ファイルを含む InputStream を指定できるようにするコンストラクタです。
|
MailcapCommandMap(String fileName)
呼び出し側が mailcap ファイルのパスを指定できるようにするコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
addMailcap(String mail_cap)
エントリをレジストリに追加します。
|
DataContentHandler |
createDataContentHandler(String mimeType)
指定の MIME タイプの DataContentHandler を返します。
|
CommandInfo[] |
getAllCommands(String mimeType)
この MIME タイプのこの MailcapCommandMap のインスタンスが認識しているすべての mailcap ファイル内の、利用可能なコマンドをすべて取得します。
|
CommandInfo |
getCommand(String mimeType, String cmdName)
この MIME タイプの
cmdName に対応するコマンドを取得します。 |
String[] |
getMimeTypes()
このコマンドマップで認識されるすべての MIME タイプを取得します。
|
String[] |
getNativeCommands(String mimeType)
指定した MIME タイプのネイティブコマンドを取得します。
|
CommandInfo[] |
getPreferredCommands(String mimeType)
MIME タイプの優先コマンドリストを取得します。
|
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMap
public MailcapCommandMap()
public MailcapCommandMap(String fileName) throws IOException
fileName
- 開く mailcap ファイルの名前IOException
- ファイルにアクセスできない場合public MailcapCommandMap(InputStream is)
is
- 開く mailcap ファイルの InputStreampublic CommandInfo[] getPreferredCommands(String mimeType)
検索結果は、この MailcapCommandMap のインスタンスが認識しているすべての mailcap ファイル内の、利用可能なコマンドの適切なサブセットです。特定コマンドの最初のエントリは、優先コマンドとみなされます。
getPreferredCommands
、クラス: CommandMap
mimeType
- MIME タイプpublic CommandInfo[] getAllCommands(String mimeType)
getAllCommands
、クラス: CommandMap
mimeType
- MIME タイプpublic CommandInfo getCommand(String mimeType, String cmdName)
cmdName
に対応するコマンドを取得します。getCommand
、クラス: CommandMap
mimeType
- MIME タイプcmdName
- コマンド名public void addMailcap(String mail_cap)
渡される文字列は、mailcap 形式でなければいけません。
mail_cap
- 正しい形式で書かれた mailcap 文字列public DataContentHandler createDataContentHandler(String mimeType)
createDataContentHandler
、クラス: CommandMap
mimeType
- MIME タイプpublic String[] getMimeTypes()
getMimeTypes
、クラス: CommandMap
public String[] getNativeCommands(String mimeType)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.