public class MailcapCommandMap extends CommandMap
Mailcap ファイルの検索順序:
MailcapCommandMap は、ユーザーのシステムのさまざまな場所で mailcap ファイルエントリを探します。MailcapCommandMap でコマンドの検索がリクエストされると、次の順序で mailcap ファイルが検索されます。
.mailcap
。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
コンストラクターと説明 |
---|
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 型の優先コマンドリストを取得します。 |
createDataContentHandler, getAllCommands, getCommand, getDefaultCommandMap, getPreferredCommands, setDefaultCommandMap
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MailcapCommandMap()
public MailcapCommandMap(StringSE fileName) throws IOExceptionSE
fileName
- 開く mailcap ファイルの名前 IOExceptionSE
- ファイルにアクセスできない場合 public MailcapCommandMap(InputStreamSE is)
is
- 開く mailcap ファイルの InputStreampublic CommandInfo[] getPreferredCommands(StringSE mimeType)
検索の結果は、MailcapCommandMap のこのインスタンスに認識されているすべての mailcap ファイルで使用可能なコマンドの適切なサブセットです。特定のコマンドの最初のエントリは、優先コマンドと見なされます。
CommandMap
の getPreferredCommands
mimeType
- MIME 型 public CommandInfo[] getAllCommands(StringSE mimeType)
CommandMap
の getAllCommands
mimeType
- MIME 型 public CommandInfo getCommand(StringSE mimeType, StringSE cmdName)
cmdName
に対応するコマンドを取得します。CommandMap
の getCommand
mimeType
- MIME 型 cmdName
- コマンド名 public void addMailcap(StringSE mail_cap)
渡される文字列は、mailcap 形式である必要があります。
mail_cap
- 正しくフォーマットされた mailcap 文字列 public DataContentHandler createDataContentHandler(StringSE mimeType)
CommandMap
の createDataContentHandler
mimeType
- MIME 型 public StringSE[] getMimeTypes()
CommandMap
の getMimeTypes
public StringSE[] getNativeCommands(StringSE mimeType)
mimeType
- MIME 型 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.