|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.activation.CommandMap
javax.activation.MailcapCommandMap
public class MailcapCommandMap
MailcapCommandMap は、abstract クラス CommandMap を拡張します。mailcap ファイル (RFC 1524) に基づいて構成されている CommandMap を実装します。MailcapCommandMap は、プログラムによっても構成ファイルを介しても構成できます。
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 タイプの優先コマンドリストを取得します。 |
| クラス javax.activation.CommandMap から継承されたメソッド |
|---|
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMap |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public MailcapCommandMap()
public MailcapCommandMap(String fileName)
throws IOException
fileName - 開く mailcap ファイルの名前
IOException - ファイルにアクセスできない場合public MailcapCommandMap(InputStream is)
is - 開く mailcap ファイルの InputStream| メソッドの詳細 |
|---|
public CommandInfo[] getPreferredCommands(String mimeType)
検索結果は、この MailcapCommandMap のインスタンスが認識しているすべての mailcap ファイル内の、利用可能なコマンドの適切なサブセットです。特定コマンドの最初のエントリは、優先コマンドとみなされます。
CommandMap 内の getPreferredCommandsmimeType - MIME タイプ
public CommandInfo[] getAllCommands(String mimeType)
CommandMap 内の getAllCommandsmimeType - MIME タイプ
public CommandInfo getCommand(String mimeType,
String cmdName)
cmdName に対応するコマンドを取得します。
CommandMap 内の getCommandmimeType - MIME タイプcmdName - コマンド名
public void addMailcap(String mail_cap)
渡される文字列は、mailcap 形式でなければいけません。
mail_cap - 正しい形式で書かれた mailcap 文字列public DataContentHandler createDataContentHandler(String mimeType)
CommandMap 内の createDataContentHandlermimeType - MIME タイプ
public String[] getMimeTypes()
CommandMap 内の getMimeTypespublic String[] getNativeCommands(String mimeType)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。