クラス MailcapCommandMap
- java.lang.ObjectSE
-
- jakarta.activation.CommandMap
-
- jakarta.activation.MailcapCommandMap
public class MailcapCommandMap extends CommandMap
MailcapCommandMap は、CommandMap 抽象クラスを継承します。これは、mailcap ファイル(RFC 1524)に基づいて構成された CommandMap を実装します。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
コンストラクターのサマリー
コンストラクター コンストラクター 説明 MailcapCommandMap()
デフォルトのコンストラクター。MailcapCommandMap(InputStreamSE is)
呼び出し元が mailcap ファイルを含む InputStream を指定できるようにするコンストラクター。MailcapCommandMap(StringSE fileName)
呼び出し元が mailcap ファイルのパスを指定できるようにするコンストラクター。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
addMailcap(StringSE mail_cap)
レジストリにエントリを追加します。DataContentHandler
createDataContentHandler(StringSE mimeType)
指定された MIME 型の DataContentHandler を返します。CommandInfo[]
getAllCommands(StringSE mimeType)
この MIME 型の MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なすべてのコマンドを取得します。CommandInfo
getCommand(StringSE mimeType, StringSE cmdName)
MIME 型のcmdName
に対応するコマンドを取得します。StringSE[]
getMimeTypes()
このコマンドマップで認識されているすべての MIME 型を取得します。StringSE[]
getNativeCommands(StringSE mimeType)
指定された MIME 型のネイティブコマンドを取得します。CommandInfo[]
getPreferredCommands(StringSE mimeType)
MIME 型の優先コマンドリストを取得します。クラス jakarta.activation.CommandMap から継承されたメソッド
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMap
コンストラクターの詳細
MailcapCommandMap
public MailcapCommandMap()
デフォルトのコンストラクター。
MailcapCommandMap
public MailcapCommandMap(StringSE fileName) throws IOExceptionSE
呼び出し元が mailcap ファイルのパスを指定できるようにするコンストラクター。- パラメーター:
fileName
- 開く mailcap ファイルの名前- 例外:
IOExceptionSE
- ファイルにアクセスできない場合
MailcapCommandMap
public MailcapCommandMap(InputStreamSE is)
呼び出し元が mailcap ファイルを含む InputStream を指定できるようにするコンストラクター。- パラメーター:
is
- 開く mailcap ファイルの InputStream
メソッドの詳細
getPreferredCommands
public CommandInfo[] getPreferredCommands(StringSE mimeType)
MIME 型の優先コマンドリストを取得します。MailcapCommandMap は、上記の Mailcap ファイルの検索順序で説明したように mailcap ファイルを検索します。検索の結果は、MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なコマンドの適切なサブセットです。特定のコマンドの最初のエントリは、優先コマンドと見なされます。
- 次で指定:
- クラス
CommandMap
のgetPreferredCommands
- パラメーター:
mimeType
- MIME 型- 戻り値:
- 優先コマンドを表す CommandInfo オブジェクト。
getAllCommands
public CommandInfo[] getAllCommands(StringSE mimeType)
この MIME 型の MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なすべてのコマンドを取得します。- 次で指定:
- クラス
CommandMap
のgetAllCommands
- パラメーター:
mimeType
- MIME 型- 戻り値:
- すべてのコマンドを表す CommandInfo オブジェクト。
getCommand
public CommandInfo getCommand(StringSE mimeType, StringSE cmdName)
MIME 型のcmdName
に対応するコマンドを取得します。- 次で指定:
- クラス
CommandMap
のgetCommand
- パラメーター:
mimeType
- MIME 型cmdName
- コマンド名- 戻り値:
- コマンドに対応する CommandInfo オブジェクト。
addMailcap
public void addMailcap(StringSE mail_cap)
レジストリにエントリを追加します。プログラムで追加されたエントリは、他のエントリの前に検索されます。渡される文字列は、mailcap 形式である必要があります。
- パラメーター:
mail_cap
- 正しくフォーマットされた mailcap 文字列
createDataContentHandler
public DataContentHandler createDataContentHandler(StringSE mimeType)
指定された MIME 型の DataContentHandler を返します。- 次で指定:
- クラス
CommandMap
のcreateDataContentHandler
- パラメーター:
mimeType
- MIME 型- 戻り値:
- DataContentHandler
getMimeTypes
public StringSE[] getMimeTypes()
このコマンドマップで認識されているすべての MIME 型を取得します。- オーバーライド:
- クラス
CommandMap
のgetMimeTypes
- 戻り値:
- 文字列としての MIME 型の配列
- 導入:
- JAF 1.1
getNativeCommands
public StringSE[] getNativeCommands(StringSE mimeType)
指定された MIME 型のネイティブコマンドを取得します。文字列の配列を返します。各文字列は mailcap ファイルエントリ全体です。アプリケーションは、エントリを解析して、実際のコマンドと必要な属性を抽出する必要があります。mailcap エントリ構文の詳細については、RFC 1524 を参照してください。指定された MIME 型のビューコマンドを指定する mailcap エントリのみが返されます。- パラメーター:
mimeType
- MIME 型- 戻り値:
- ネイティブコマンドエントリの配列
- 導入:
- JAF 1.1