`
Arron.li
  • 浏览: 136597 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JAF 学习

    博客分类:
  • J2EE
阅读更多

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源码

    这个"jaf1.1.1源码"的压缩包文件包含了JAF 1.1.1版本的源代码,允许开发者深入理解其内部工作原理,进行学习、调试或定制。 JAF 1.1.1是JAF的一个早期版本,它主要提供以下功能: 1. **MIME类型识别**:JAF能够...

    JAF1.98.62稳定版

    这些社区资源对初学者尤其宝贵,他们可以从中学习到各种实用技巧和解决常见问题的方法。 6. **未来展望** 随着智能手机技术的不断发展,尽管诺基亚已不再主导市场,JAF1.98.62稳定版仍然因其强大的功能和忠实的...

    jaf强刷教程

    诺基亚手机JAF强刷教程是一门针对诺基亚手机爱好者和维修人员的重要技能学习。JAF,全称为Java Application Framework,是一款功能强大的诺基亚手机刷机工具,尤其适用于那些希望对设备进行深度定制或者修复软件问题...

    JAF.rar_jaf_jaf-1_1-fr.zip

    【JAF精华教程】是针对JavaBeans Activation Framework(JAF)的一个综合学习资源包,它主要涵盖了JAF的基础知识、核心概念以及实际应用。JAF是Java平台的一部分,主要用于处理和激活数据对象,特别是在电子邮件系统...

    JavaMail+jaf+教程

    为了更好地学习和实践JavaMail和JAF,你可以参考提供的教程,其中可能包含了如何配置环境、编写代码示例以及解决常见问题等内容。通过这些教程,你将能够掌握JavaMail API的使用,从而实现高效、可靠的邮件通信功能...

    JAF-1.1.1 API&JAR

    学习JAF-1.1.1 API和JAR,开发者可以掌握如何在Java应用程序中有效地处理各种数据格式,特别是在涉及电子邮件通信时。通过深入研究源代码,开发者可以了解其内部工作原理,甚至可以定制自己的数据内容处理器以支持...

    activation 1.1.1 jaf 1.1.1 源码包+jar 天涯浪子

    《Java Activation Framework (JAF) 1.1.1与Activation 1.1.1源码解析》 Java Activation Framework (JAF...有了源码包和jar文件,开发者不仅可以利用其功能,还能深入学习和优化这个框架,提升软件的灵活性和兼容性。

    jaf-1.1.1-源码

    总之,JAF 1.1.1源码提供了一个深入了解和定制Java数据处理机制的机会,无论是为了学习Java核心技术,还是为了优化现有项目,都能从中获益。同时,结合JSR 94,可以构建出更灵活、强大的企业级应用。

    JavaMail+JAF+JavaMail_API+JavaMail_API详解

    JavaMail 是一个开源的Java库,它为Java程序员提供了处理电子邮件的...通过学习和使用这些资源,开发者可以熟练掌握如何使用JavaMail和JAF来实现复杂的邮件操作,例如发送带附件的邮件、处理邮件事件、读取IMAP邮箱等。

    JAF官方的DCT-4使用手册(英文)

    **JAF官方的DCT-4使用手册(英文)** JAF是一家专注于手机软件和工具开发的公司,其中DCT-4(Data Communication Tool 4)是他们为诺基亚手机提供的一种数据通信工具。这款工具主要用于手机的编程、解锁、故障诊断...

    诺基亚N97在WINDOWS7下运行JAF刷DIY固件的详细图文教程.doc

    通过本教程,您将学习到如何准备必要的文件、配置环境以及进行实际的刷机操作。 #### 二、准备工作 1. **下载安装JAF**:首先需要下载并安装最新版本的JAF软件。 2. **下载官方刷机包**:下载适合N97mini(亚太版...

    JavaMail1.4+JAF1.1

    在javamail-1_4_1.zip和jaf-1_1_1.zip这两个压缩文件中,包含了JavaMail 1.4.1和JAF 1.1.1的源码、文档、库文件和相关的示例代码,开发者可以基于这些资源进行学习和开发。通过阅读源码,理解其内部工作机制,以及...

    jaf刷机教程

    在这个教程中,用户将学习如何使用JAF工具对诺基亚手机进行一系列高级维护和修复操作。 1. **JAF工具介绍**:JAF是一款专为诺基亚Symbian系统手机设计的多功能工具,它能够帮助用户执行固件更新、数据备份、解锁、...

    JAF CMS-开源

    **JAF CMS 开源系统详解** JAF CMS(Just Another Flat File CMS)是一款专为...通过理解和掌握JAF CMS的这些核心概念,用户不仅可以轻松建立和维护个人主页,还可以深入学习网站开发的相关知识,提升自身的技术能力。

    java学习路线图,专为新手制定的java学习计划

    除此之外,还有JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)、JMS(Java Message Service)、JAVA IDL、JTS、JTA、JAVAMAIL、JAF、Log4j、JUnit、Freemarker和Velocity等技术。...

    j2ee学习课件 J2EE理论及学习提高

    7. **JAF(JavaBeans Activation Framework)**:处理对象的激活和序列化。 8. **JPA(Java Persistence API)**和Hibernate:提供了对象关系映射(ORM)机制,简化了数据库操作。 在学习J2EE时,理解这些组件如何...

    Java学习路线图,专为新手定制的Java学习计划建议.pdf

    除此之外,J2EE还包含EJB(Enterprise JavaBeans)、JDBC(Java数据库连接)、JNDI(Java命名与目录接口)、RMI(远程方法调用)、JMS(Java消息服务)、JAVA IDL、JTS、JTA、JAVAMAIL、JAF、Log4j、JUnit、...

    J2EE学习笔记 对学习非常有帮助

    8. **JAF(Java Activation Framework)**:支持MIME类型和消息对象的处理,常用于电子邮件系统。 9. **JCA(Java Connector Architecture)**:允许J2EE应用程序与各种企业信息系统(如ERP、CRM)集成。 10. **...

    j2ee学习培训课件

    **J2EE学习培训课件概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台上用于构建企业级应用的框架,它提供了一系列服务、APIs和协议,旨在简化多层分布式应用的开发和部署。这个“j2ee学习培训课件”...

Global site tag (gtag.js) - Google Analytics