|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.activation.CommandMap javax.activation.MailcapCommandMap
public class MailcapCommandMap
MailcapCommandMap 擴展 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 使用此簽章尋找命令條目,以將其包含到註冊表。用名稱 name 標識一個命令時,MailcapCommandMap 讀取 x-java-<name>
形式的參數名稱。當 name 為 content-handler
時,MailcapCommandMap 將此參數所表示的類別視為 DataContentHandler。所有其他命令的處理通常忽略其命令名。命令實作由 JavaBean(tm) 元件的一個完全限定類別名指定。例如,查看某些資料的命令可以被指定為:x-java-view=com.foo.ViewBean
。
當命令名是 fallback-entry
時,命令的值可以為 true
或 false
。包含 x-java-fallback-entry=true
參數的 MIME 型別的條目定義了該 MIME 型別的回退 (fallback) 命令,只在找不到非回退條目的情況下才使用該命令。例如,形式為 text/*; ; x-java-fallback-entry=true; x-java-view=com.sun.TextViewer
的條目指定了用於任何文本 MIME 型別的查看命令。此查看命令只在找不到 MIME 型別的非回退查看命令的情況下使用。
支持 MailcapCommandMap 的 mailcap 檔案的一般形式如下:
# 註釋以 '#' 開頭並延續到行的末尾。
<mime type>; ; <parameter list>
# 其中參數列表由一個或多個參陣列成,
# 其中參數類似於:x-java-view=com.sun.TextViewer
# 參數列表類似於:
純文本; ; x-java-view=com.sun.TextViewer; x-java-edit=com.sun.TextEdit
# 注意,不包含 'x-java' 參數的 mailcap 條目
# 和遵守 RFC 1524 的條目將被忽略:
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 實例已知的所有 mailmap 檔案中可用命令的適當子集。特定命令的第一個條目被視為首選命令。
CommandMap
中的 getPreferredCommands
mimeType
- MIME 型別
public CommandInfo[] getAllCommands(String mimeType)
CommandMap
中的 getAllCommands
mimeType
- MIME 型別
public CommandInfo getCommand(String mimeType, String cmdName)
cmdName
對應的命令。
CommandMap
中的 getCommand
mimeType
- MIME 型別cmdName
- 命令名
public void addMailcap(String mail_cap)
傳入的字元串應該是 mailcap 格式。
mail_cap
- 已正確格式化的 mailcap 字元串public DataContentHandler createDataContentHandler(String mimeType)
CommandMap
中的 createDataContentHandler
mimeType
- MIME 型別
public String[] getMimeTypes()
CommandMap
中的 getMimeTypes
public String[] getNativeCommands(String mimeType)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。