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, 2014, Oracle and/or its affiliates. All rights reserved.