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();
}