JAF(JavaBeans Activation Framework)負責處理MIME編碼,JavaMail利用JAF來處理MIME編碼的郵件附件
專用的數據處理框架,它用於封裝數據,併爲應用程序提供訪問和操作數據的接口。
JAF的主要作用在於讓java應用程序知道如何對一個數據源進行查看、編輯和打印等操作。對於通過JAF封裝的數據,應用程序通過JAF提供的接口可以完成如下功能:
1. 訪問數據源中的數據.
2. 獲知數據源的數據類型.
3. 獲知可對數據進行的各種操作.
4. 用戶對數據執行某種操作時,自動創建執行該操作的軟件部件的實例對象.
JavaMail API可以利用JAF從某種數據源中讀取數據和獲知數據的MIME類型,並用這些數據生成MIME消息中的消息體和消息類型。
File file = new File(file_name);
DataSource ds = new FileDataSource(file);
DataHandler dh = new DataHandler(ds);
CommandInfo cmdInfo[] = dh.getPreferredCommands();
PopupMenu popup = new PopupMenu(“Item Menu”);
// populate the popup with available commands
for (i = 0; i < cmdInfo.length; i++)
popup.add(cmdInfo[i].getCommandName());
// add and show popup
add(popup);
popup.show(x_pos, y_pos);
public static void main(String[] args) {
// TODO Auto-generated method stub
FileDataSource fds = new FileDataSource("ddd");
DataHandler dh = new DataHandler(fds);
CommandInfo bi = dh.getCommand("view");
if (bi == null) {
System.out.println("no viewer found, exiting");
System.exit(1);
}
Frame frame = new Frame("Viewer");
frame.add((Component)dh.getBean(bi));
frame.setSize(new Dimension(400,300));
frame.show();
}