The JavaBeans Activation Framework 1.1 contains a few small enhancements and bugs fixes. The enhancements are described here
and have been approved by the JCP as JSR-925
. The primary enhancements are:
- Provide a list of all MIME types known to a MailcapCommandMap.
- Provide access to the native commands known to a MailcapCommandMap.
- Support for fallback entries in mailcap file.
The JavaBeans Activation Framework 1.1 requires J2SE 1.4 or greater.
The JavaBeans Activation Framework 1.1 final release is included with the Java SE 6
release and the Java EE 5
release, and is also available separately.
For a detailed description see the jaf-changes.txt
document.
... ...
JavaBeans Activation Framework(JAF)主页 http://java.sun.com/beans/glasgow/jaf.html
JavaBeans
激活框架
(
JavaBeans Activation Framework
)
JAF
的目的在于统一处理不同数据格式的方法(不管数据格式为简单文本还是由图片、声音、视频甚至其它
"
活动
"
内容共同组成的复合文档)。在这个意义上,
JAF
对
Java
的作用正如插件对
Web
浏览器的作用。
JAF
使得
Java
对象
与编码数据流
之间的映射变得非常容易。
JAF
完成于
1998
年,当时
JavaBean
非常流行,
Swing
非常热门,
Servlet
刚刚出现,
J2EE
平台还没有。那时
Sun
需要一个用于文件浏览器和
JavaMail
的标准发现
API
,此需要推动了
JAF
的创建。“发现”指可以动态找到正确的组件以处理任意但类型化了的数据的机制
。特别是,作为发现
API
来开发
JAF
,以便使
GUI
开发人员能够为文档和图像数据动态地发现浏览器和编辑器。
发现取决于注册的类型,注册可以将每一文件类型与对应的应用程序建立关联。
简单的说,
JAF
提供了用于动态发现可视窗口部件以处理由
MIME
文件头描述的各种数据的架构。当用于
SAAJ
这样的非可视系统时,
JAF
可以将
Java
类型
映射到将它们无缝转换到数据流的特殊处理程序
,从而允许
SAAJ
将
Java
对象自动转换成由
SwA MIME
部分包含的原始数据
。
1.
DataHandler
类
JAF
架构的核心是
javax.activation.DataHandler
类。
DataHandler
类定义了三个构造函数:
Public DataHandler(DataSource ds)
Public DataHandler(java.net.URL url)
Public DataHandler(Object obj, String mimeType)
当使用前两个构造函数时,数据处理会委托到
DataSource
接口的一个子类型,使用第三个构造函数时,数据处理委托到一个动态发现的内容处理程序并使用此处理程序。
如果
DataHandler
是用
DataSource
对象构造的,那么它将首先试图试图将
getContent()
方法委托到一个
DCH
,如果它没有找到
DCH
,会返回一个从
DataSource
中得到的
InputStream
。有趣的是,
DataHandler
总是试图首先委托到一个
DCH
,即便是用
DataSource
创建
DataHandler
也是如此
。
上述说明的问题看似简单,但实际上非常重要,它说明了
getContent()
方法的作用。
getContent()
方法要返回一个表示附件的
Java
对象,
DataSource
的
InputStream
只作为最后一种手段来返回
。从
DCH
中返回的对象类型取决于
DCH
的编码方式。
2.
DataContentHandler
类
此接口用于实现将
Java
对象流转换成数据流,或将数据流转换成
Java
对象。
DataContentHandler
类型的每一个子类
(
即每一个
DCH)
均用于自动将
Java
对象的专用类型转换为流,以及将流转换成
Java
对象。如某个
DCH
能够将
java.awt.Image
对象转换为
JPEG
或
GIF
编码流,或者进行反向转换。
DCH
的缺点是它们的使用范围通常受到很大的限制,每一个
DCH
只能讲一个对象类型
转换成一种类型的数据流
。
与
DCH
不同,
DataSource
对象只处理数据流。用户要用
DataSource
从某种类型的资源中读数据流,并将数据流写入
DataSource
。,此时重点放在了流上而不是
Java
对象类型上。从而
DataSource
具有很大的通用性,其缺点为不宜于使用,因为用户直接处理的是流而不是
Java
对象。
3.
DataSource
类
DataSource
类拥有完成委托操作所需要的全部功能。当使用
DataSource
或
URL
参数构造
DataHandler
时,
DataHandler
要使用
DataSource
而不是
DCH
。
JAF
定义了两个标准的
DataSource
对象,即
FileDataSource
对象和
URLDataSource
对象。
某些
DataSource
实现用于动态发现它们的
MIME
类型。例如,
FileDataSource
用
MIME
类型注册表发现它的
MIME
类型。
JAF
中的默认
MIME
类型注册表是
mimetypes.default
文件,该文件包含在
JAF
二进制
JAR
文件中。
分享到:
相关推荐
这个"jaf1.1.1源码"的压缩包文件包含了JAF 1.1.1版本的源代码,允许开发者深入理解其内部工作原理,进行学习、调试或定制。 JAF 1.1.1是JAF的一个早期版本,它主要提供以下功能: 1. **MIME类型识别**:JAF能够...
这些社区资源对初学者尤其宝贵,他们可以从中学习到各种实用技巧和解决常见问题的方法。 6. **未来展望** 随着智能手机技术的不断发展,尽管诺基亚已不再主导市场,JAF1.98.62稳定版仍然因其强大的功能和忠实的...
诺基亚手机JAF强刷教程是一门针对诺基亚手机爱好者和维修人员的重要技能学习。JAF,全称为Java Application Framework,是一款功能强大的诺基亚手机刷机工具,尤其适用于那些希望对设备进行深度定制或者修复软件问题...
【JAF精华教程】是针对JavaBeans Activation Framework(JAF)的一个综合学习资源包,它主要涵盖了JAF的基础知识、核心概念以及实际应用。JAF是Java平台的一部分,主要用于处理和激活数据对象,特别是在电子邮件系统...
为了更好地学习和实践JavaMail和JAF,你可以参考提供的教程,其中可能包含了如何配置环境、编写代码示例以及解决常见问题等内容。通过这些教程,你将能够掌握JavaMail API的使用,从而实现高效、可靠的邮件通信功能...
学习JAF-1.1.1 API和JAR,开发者可以掌握如何在Java应用程序中有效地处理各种数据格式,特别是在涉及电子邮件通信时。通过深入研究源代码,开发者可以了解其内部工作原理,甚至可以定制自己的数据内容处理器以支持...
《Java Activation Framework (JAF) 1.1.1与Activation 1.1.1源码解析》 Java Activation Framework (JAF...有了源码包和jar文件,开发者不仅可以利用其功能,还能深入学习和优化这个框架,提升软件的灵活性和兼容性。
总之,JAF 1.1.1源码提供了一个深入了解和定制Java数据处理机制的机会,无论是为了学习Java核心技术,还是为了优化现有项目,都能从中获益。同时,结合JSR 94,可以构建出更灵活、强大的企业级应用。
JavaMail 是一个开源的Java库,它为Java程序员提供了处理电子邮件的...通过学习和使用这些资源,开发者可以熟练掌握如何使用JavaMail和JAF来实现复杂的邮件操作,例如发送带附件的邮件、处理邮件事件、读取IMAP邮箱等。
**JAF官方的DCT-4使用手册(英文)** JAF是一家专注于手机软件和工具开发的公司,其中DCT-4(Data Communication Tool 4)是他们为诺基亚手机提供的一种数据通信工具。这款工具主要用于手机的编程、解锁、故障诊断...
在javamail-1_4_1.zip和jaf-1_1_1.zip这两个压缩文件中,包含了JavaMail 1.4.1和JAF 1.1.1的源码、文档、库文件和相关的示例代码,开发者可以基于这些资源进行学习和开发。通过阅读源码,理解其内部工作机制,以及...
在这个教程中,用户将学习如何使用JAF工具对诺基亚手机进行一系列高级维护和修复操作。 1. **JAF工具介绍**:JAF是一款专为诺基亚Symbian系统手机设计的多功能工具,它能够帮助用户执行固件更新、数据备份、解锁、...
通过本教程,您将学习到如何准备必要的文件、配置环境以及进行实际的刷机操作。 #### 二、准备工作 1. **下载安装JAF**:首先需要下载并安装最新版本的JAF软件。 2. **下载官方刷机包**:下载适合N97mini(亚太版...
**JAF CMS 开源系统详解** JAF CMS(Just Another Flat File CMS)是一款专为...通过理解和掌握JAF CMS的这些核心概念,用户不仅可以轻松建立和维护个人主页,还可以深入学习网站开发的相关知识,提升自身的技术能力。
除此之外,还有JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)、JMS(Java Message Service)、JAVA IDL、JTS、JTA、JAVAMAIL、JAF、Log4j、JUnit、Freemarker和Velocity等技术。...
7. **JAF(JavaBeans Activation Framework)**:处理对象的激活和序列化。 8. **JPA(Java Persistence API)**和Hibernate:提供了对象关系映射(ORM)机制,简化了数据库操作。 在学习J2EE时,理解这些组件如何...
除此之外,J2EE还包含EJB(Enterprise JavaBeans)、JDBC(Java数据库连接)、JNDI(Java命名与目录接口)、RMI(远程方法调用)、JMS(Java消息服务)、JAVA IDL、JTS、JTA、JAVAMAIL、JAF、Log4j、JUnit、...
8. **JAF(Java Activation Framework)**:支持MIME类型和消息对象的处理,常用于电子邮件系统。 9. **JCA(Java Connector Architecture)**:允许J2EE应用程序与各种企业信息系统(如ERP、CRM)集成。 10. **...
**J2EE学习培训课件概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台上用于构建企业级应用的框架,它提供了一系列服务、APIs和协议,旨在简化多层分布式应用的开发和部署。这个“j2ee学习培训课件”...