JavaBeans Activation Framework 1.2 ================================== JAF 1.2 proposes a few minor changes to the JAF specification to align with other changes in JDK 9. Following is a description of the changes that are being introduced in JAF 1.2. The numbers in parentheses are bug numbers; you can find more information about the bug reports at: http://bugs.openjdk.java.net The JAF 1.2 RI will require Java SE 7 or later. JAF 1.2 will be included in Java SE 9. The JAF 1.2 RI and TCK will be available under the same terms as the JAF 1.1 RI and TCK. =================================================================== 1. JDK 9 moves config files to /conf (JDK-8049379) ---------------------------------------------------------------- The specification for MailcapCommandMap is changed as follows: * Mailcap file search order:

* The MailcapCommandMap looks in various places in the user's * system for mailcap file entries. When requests are made * to search for commands in the MailcapCommandMap, it searches * mailcap files in the following order: *

*

    *
  1. Programatically added entries to the MailcapCommandMap instance. *
  2. The file .mailcap in the user's home directory. *
  3. The file mailcap in the Java runtime. *
  4. The file or resources named META-INF/mailcap. *
  5. The file or resource named META-INF/mailcap.default * (usually found only in the activation.jar file). *
*

* (The current implementation looks for the mailcap file * in the Java runtime in the directory java.home/conf * if it exists, and otherwise in the directory * java.home/lib, where java.home is the value * of the "java.home" System property. Note that the "conf" directory was * introduced in JDK 9.) The specification for MimetypesFileTypeMap is changed as follows: * MIME types file search order:

* The MimetypesFileTypeMap looks in various places in the user's * system for MIME types file entries. When requests are made * to search for MIME types in the MimetypesFileTypeMap, it searches * MIME types files in the following order: *

    *
  1. Programmatically added entries to the MimetypesFileTypeMap instance. *
  2. The file .mime.types in the user's home directory. *
  3. The file mime.types in the Java runtime. *
  4. The file or resources named META-INF/mime.types. *
  5. The file or resource named META-INF/mimetypes.default * (usually found only in the activation.jar file). *
*

* (The current implementation looks for the mime.types file * in the Java runtime in the directory java.home/conf * if it exists, and otherwise in the directory * java.home/lib, where java.home is the value * of the "java.home" System property. Note that the "conf" directory was * introduced in JDK 9.) =================================================================== 2. Remove JAF's API dependency on java.beans.Beans.instantiate (JDK-804773) ---------------------------------------------------------------------------- To allow custom runtimes to be created without the java.desktop module, the getCommandObject method of CommandInfo is changed to make the use of java.beans.Beans.instantiate conditional: /** * Return the instantiated JavaBean component. *

* If the current runtime environment supports * {@link java.beans.Beans#instantiate Beans.instantiate}, * use it to instantiate the JavaBeans component. Otherwise, use * {@link java.lang.Class#forName Class.forName}. *

* The component class needs to be public. * On Java SE 9 and newer, if the component class is in a named module, * it needs to be in an exported package. ...