RFRs for 8166914, 8165782 and 8166735 related to multi-release JAR specification
Mandy Chung
mandy.chung at oracle.com
Fri Nov 4 00:52:08 UTC 2016
Looks fine overall. I think it’s useful to add a section header “Multi-Release JAR File” in JarFile class specification that URLClassLoader can link to directly when referring “multi-release JAR file” and other specs can make use of too.
Then the following statement is not needed.
> (See {@link JarFile} for further details on multi-release JAR files.)
Mandy
> On Nov 3, 2016, at 3:37 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>
> Hi,
>
> Please review these specification clarifications for multi-release JARs. They are small and two are closely interrelated so though it would be best to aggregate them in one email.
>
> Thanks,
> Paul.
>
>
> 8166914 URLClassLoader spec needs to mention that it's MR-aware
>
> diff -r 52d732262bfa src/java.base/share/classes/java/net/URLClassLoader.java
> --- a/src/java.base/share/classes/java/net/URLClassLoader.java Thu Nov 03 13:06:24 2016 -0700
> +++ b/src/java.base/share/classes/java/net/URLClassLoader.java Thu Nov 03 15:35:29 2016 -0700
> @@ -71,6 +71,10 @@
> * <p>
> * The classes that are loaded are by default granted permission only to
> * access the URLs specified when the URLClassLoader was created.
> + * <p>
> + * This class loader supports the loading of classes from the contents of a
> + * multi-release JAR file that is referred to by a given URL. (See
> + * {@link JarFile} for further details on multi-release JAR files.)
> *
> * @author David Connelly
> * @since 1.2
>
>
>
> 8165782 java.util.jar.JarFile.runtimeVersion() spec needs clarification
>
> diff -r 3faad5a1703e src/java.base/share/classes/java/util/jar/JarFile.java
> --- a/src/java.base/share/classes/java/util/jar/JarFile.java Thu Nov 03 14:45:14 2016 -0700
> +++ b/src/java.base/share/classes/java/util/jar/JarFile.java Thu Nov 03 15:35:07 2016 -0700
> @@ -192,9 +192,10 @@
> public static final String MANIFEST_NAME = META_INF + "MANIFEST.MF";
>
> /**
> - * The version that represents the unversioned configuration of a multi-release jar file.
> + * Returns the version that represents the unversioned configuration of a
> + * multi-release jar file.
> *
> - * @return Runtime.Version that represents the unversioned configuration
> + * @return the version that represents the unversioned configuration
> *
> * @since 9
> */
> @@ -203,13 +204,16 @@
> }
>
> /**
> - * The version that represents the effective runtime versioned configuration of a
> - * multi-release jar file. In most cases, {@code runtimeVersion()} is equal to
> - * {@code Runtime.version()}. However, if the {@code jdk.util.jar.version} property is set,
> - * {@code runtimeVersion()} is derived from that property and may not be equal to
> - * {@code Runtime.version()}.
> + * Returns the version that represents the effective runtime versioned
> + * configuration of a multi-release jar file.
> + * <p>
> + * By default the major version number of the returned {@code Version} will
> + * be equal to the major version number of {@code Runtime.version()}.
> + * However, if the {@code jdk.util.jar.version} property is set, the
> + * returned {@code Version} is derived from that property and major version
> + * numbers may not be equal.
> *
> - * @return Runtime.Version that represents the runtime versioned configuration
> + * @return the version that represents the runtime versioned configuration
> *
> * @since 9
> */
>
>
>
> 8166735 JarFile#getVersion spec clarification for unversioned jars
>
> diff -r 605bff618963 src/java.base/share/classes/java/util/jar/JarFile.java
> --- a/src/java.base/share/classes/java/util/jar/JarFile.java Thu Nov 03 15:04:13 2016 -0700
> +++ b/src/java.base/share/classes/java/util/jar/JarFile.java Thu Nov 03 15:27:29 2016 -0700
> @@ -339,6 +339,10 @@
>
> /**
> * Returns the maximum version used when searching for versioned entries.
> + * <p>
> + * If this {@code JarFile} is not a multi-release jar file or is not
> + * configured to be processed as such, then the version returned will be the
> + * same as that returned from {@link #baseVersion()}.
> *
> * @return the maximum version
> * @since 9
More information about the core-libs-dev
mailing list