JAF(JavaBeans Activation Framework,JavaBeans激活框架)
主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作
1)访问数据源中的数据
2)获知数据源的数据类型
3)获知可对数据源进行的各种操作
4)用户对数据源执行某种操作时自动创建执行该操作的软件部件的实例对象
JAF为应用程序提供了一个通用的数据处理机制。对于采用JAF框架封装的数据,应用程序通过JAF框架提供的接口就可以获知数据的MIME类型,以及动态嵌入到JAF框架中的可处理该MIME数据类型的所有可用操作。调用者访问这些操作时,JAF框架将自动构建用于完成当前操作的命令操作,并返回给调用者。调用者通过这个命令对象就可以对数据做出特定的处理。
1)DataHandler是JAF框架的核心API,应用程序通过它来访问数据源(DataSource)中封装的数据以及数据的MIME类型,并通过它获得JAF框架中为数据的MIME类型定义的操作列表(CommandMap)。应用程序访问操作列表中的操作时,DataHandler还负责构建相应的命令对象(CommandObject)供应用程序使用
2)DataSource接口用于将数据封装成可被JAF框架使用的对象,它定义了对数据源的通用操作,包括得到数据输入输出流的getInputStream和getOutputStream方法,以及得到数据MIME类型的getContentType方法。JAF中提供了DataSource接口的两个实现类:FileDataSource和URLDataSource,FileDataSource用于从文件系统中获取数据,URLDataSource用于从一个URL地址中获取数据
3)DataContenthandler 接口用于把DataSource中封装的数据转换成相应的Java对象,或者Java对象转化成MIME形式的字节流,并将其写入到输出流中
4)CommandObject接口定义了一个对特定MIME类型数据执行特定操作的命令对象
5)CommandMap代表操作特定MIME类型数据的所有命令对象的集合