8186684: Fix broken links in java.base API docs
Reviewed-by: sherman, martin, mchung, bpb, lancea
--- a/jdk/src/java.base/share/classes/java/lang/BootstrapMethodError.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/BootstrapMethodError.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@
* failed to find its bootstrap method,
* or the bootstrap method has failed to provide a
* {@linkplain java.lang.invoke.CallSite call site} with a {@linkplain java.lang.invoke.CallSite#getTarget target}
- * of the correct {@linkplain java.lang.invoke.MethodHandle#type method type}.
+ * of the correct {@linkplain java.lang.invoke.MethodHandle#type() method type}.
*
* @author John Rose, JSR 292 EG
* @since 1.7
--- a/jdk/src/java.base/share/classes/java/lang/ModuleLayer.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/ModuleLayer.java Thu Aug 24 16:52:21 2017 -0700
@@ -822,7 +822,7 @@
/**
* Returns the module with the given name in this layer, or if not in this
- * layer, the {@linkplain #parents parent} layers. Finding a module in
+ * layer, the {@linkplain #parents() parent} layers. Finding a module in
* parent layers is equivalent to invoking {@code findModule} on each
* parent, in search order, until the module is found or all parents have
* been searched. In a <em>tree of layers</em> then this is equivalent to
@@ -854,7 +854,7 @@
/**
* Returns the {@code ClassLoader} for the module with the given name. If
- * a module of the given name is not in this layer then the {@link #parents
+ * a module of the given name is not in this layer then the {@link #parents()
* parent} layers are searched in the manner specified by {@link
* #findModule(String) findModule}.
*
--- a/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1149,7 +1149,7 @@
* The {@link Process#getInputStream standard output} of all processes
* except the last process are <i>null input streams</i>.
* <p>
- * The {@link #redirectErrorStream} of each ProcessBuilder applies to the
+ * The {@link #redirectErrorStream()} of each ProcessBuilder applies to the
* respective process. If set to {@code true}, the error stream is written
* to the same stream as standard output.
* <p>
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Thu Aug 24 16:52:21 2017 -0700
@@ -47,9 +47,9 @@
* Method handles are dynamically and strongly typed according to their parameter and return types.
* They are not distinguished by the name or the defining class of their underlying methods.
* A method handle must be invoked using a symbolic type descriptor which matches
- * the method handle's own {@linkplain #type type descriptor}.
+ * the method handle's own {@linkplain #type() type descriptor}.
* <p>
- * Every method handle reports its type descriptor via the {@link #type type} accessor.
+ * Every method handle reports its type descriptor via the {@link #type() type} accessor.
* This type descriptor is a {@link java.lang.invoke.MethodType MethodType} object,
* whose structure is a series of classes, one of which is
* the return type of the method (or {@code void.class} if none).
@@ -468,7 +468,7 @@
/**
* Invokes the method handle, allowing any caller type descriptor, but requiring an exact type match.
* The symbolic type descriptor at the call site of {@code invokeExact} must
- * exactly match this method handle's {@link #type type}.
+ * exactly match this method handle's {@link #type() type}.
* No conversions are allowed on arguments or return values.
* <p>
* When this method is observed via the Core Reflection API,
@@ -489,7 +489,7 @@
* Invokes the method handle, allowing any caller type descriptor,
* and optionally performing conversions on arguments and return values.
* <p>
- * If the call site's symbolic type descriptor exactly matches this method handle's {@link #type type},
+ * If the call site's symbolic type descriptor exactly matches this method handle's {@link #type() type},
* the call proceeds as if by {@link #invokeExact invokeExact}.
* <p>
* Otherwise, the call proceeds as if this method handle were first
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Thu Aug 24 16:52:21 2017 -0700
@@ -131,7 +131,7 @@
* It can only be used to create method handles to public members of
* public classes in packages that are exported unconditionally.
* <p>
- * As a matter of pure convention, the {@linkplain Lookup#lookupClass lookup class}
+ * As a matter of pure convention, the {@linkplain Lookup#lookupClass() lookup class}
* of this lookup object will be {@link java.lang.Object}.
*
* @apiNote The use of Object is conventional, and because the lookup modes are
@@ -259,10 +259,10 @@
* Therefore, method handle access
* restrictions must be enforced when a method handle is created.
* The caller class against which those restrictions are enforced
- * is known as the {@linkplain #lookupClass lookup class}.
+ * is known as the {@linkplain #lookupClass() lookup class}.
* <p>
* A lookup class which needs to create method handles will call
- * {@link MethodHandles#lookup MethodHandles.lookup} to create a factory for itself.
+ * {@link MethodHandles#lookup() MethodHandles.lookup} to create a factory for itself.
* When the {@code Lookup} factory object is created, the identity of the lookup class is
* determined, and securely stored in the {@code Lookup} object.
* The lookup class (or its delegates) may then use factory methods
@@ -776,7 +776,7 @@
/**
* Creates a lookup on the specified new lookup class.
* The resulting object will report the specified
- * class as its own {@link #lookupClass lookupClass}.
+ * class as its own {@link #lookupClass() lookupClass}.
* <p>
* However, the resulting {@code Lookup} object is guaranteed
* to have no more access capabilities than the original.
@@ -4602,7 +4602,7 @@
* <li>At this point, every non-init function parameter list is effectively identical to the internal parameter
* list {@code (V... A...)}, but some lists may be shorter. For every non-init function with a short parameter list,
* pad out the end of the list.
- * <li>Argument lists are padded out by {@linkplain #dropArgumentsToMatch dropping unused trailing arguments}.
+ * <li>Argument lists are padded out by {@linkplain #dropArgumentsToMatch(MethodHandle, int, List, int) dropping unused trailing arguments}.
* </ol>
* <p>
* <em>Final observations.</em><ol type="a">
@@ -4697,7 +4697,7 @@
* }</pre></blockquote>
* Note that the parameter type lists {@code (V...)} and {@code (A...)} have been expanded
* to their full length, even though individual clause functions may neglect to take them all.
- * As noted above, missing parameters are filled in as if by {@link #dropArgumentsToMatch}.
+ * As noted above, missing parameters are filled in as if by {@link #dropArgumentsToMatch(MethodHandle, int, List, int)}.
*
* @apiNote Example:
* <blockquote><pre>{@code
--- a/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/VarHandle.java Thu Aug 24 16:52:21 2017 -0700
@@ -1826,7 +1826,7 @@
* value associated with method name (indicating the method
* name does not correspond to a {@code VarHandle}
* signature-polymorphic method name).
- * @see #methodName
+ * @see #methodName()
*/
public static AccessMode valueFromMethodName(String methodName) {
AccessMode am = methodNameToAccessMode.get(methodName);
--- a/jdk/src/java.base/share/classes/java/lang/module/Configuration.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/module/Configuration.java Thu Aug 24 16:52:21 2017 -0700
@@ -47,7 +47,8 @@
/**
* A configuration that is the result of <a href="package-summary.html#resolution">
- * resolution</a> or resolution with <a href="#service-binding">service binding</a>.
+ * resolution</a> or resolution with
+ * <a href="{@docRoot}/java/lang/module/Configuration.html#service-binding">service binding</a>.
*
* <p> A configuration encapsulates the <em>readability graph</em> that is the
* output of resolution. A readability graph is a directed graph whose vertices
@@ -421,7 +422,7 @@
* resolve} except that the graph of resolved modules is augmented
* with modules induced by the service-use dependence relation. </p>
*
- * <p id="service-binding"> More specifically, the root modules are
+ * <p><a id="service-binding"></a>More specifically, the root modules are
* resolved as if by calling {@code resolve}. The resolved modules, and
* all modules in the parent configurations, with {@link ModuleDescriptor#uses()
* service dependences} are then examined. All modules found by the given
@@ -520,7 +521,7 @@
/**
* Finds a resolved module in this configuration, or if not in this
- * configuration, the {@linkplain #parents parent} configurations.
+ * configuration, the {@linkplain #parents() parent} configurations.
* Finding a module in parent configurations is equivalent to invoking
* {@code findModule} on each parent, in search order, until the module
* is found or all parents have been searched. In a <em>tree of
--- a/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java Thu Aug 24 16:52:21 2017 -0700
@@ -1331,7 +1331,7 @@
/**
* <p> Returns {@code true} if this is an open module. </p>
*
- * <p> This method is equivalent to testing if the set of {@link #modifiers
+ * <p> This method is equivalent to testing if the set of {@link #modifiers()
* modifiers} contains the {@link Modifier#OPEN OPEN} modifier. </p>
*
* @return {@code true} if this is an open module
@@ -1343,7 +1343,7 @@
/**
* <p> Returns {@code true} if this is an automatic module. </p>
*
- * <p> This method is equivalent to testing if the set of {@link #modifiers
+ * <p> This method is equivalent to testing if the set of {@link #modifiers()
* modifiers} contains the {@link Modifier#OPEN AUTOMATIC} modifier. </p>
*
* @return {@code true} if this is an automatic module
@@ -1689,7 +1689,7 @@
* @return This builder
*
* @throws IllegalStateException
- * If the {@link Exports#source package} is already declared as
+ * If the {@link Exports#source() package} is already declared as
* exported or this builder is for an automatic module
*/
public Builder exports(Exports e) {
--- a/jdk/src/java.base/share/classes/java/net/URLStreamHandler.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/net/URLStreamHandler.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -531,7 +531,6 @@
* @param ref the reference.
* @exception SecurityException if the protocol handler of the URL is
* different from this one
- * @see java.net.URL#set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)
* @since 1.3
*/
protected void setURL(URL u, String protocol, String host, int port,
--- a/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@
* invoked, these methods should be used within a
* {@code try} ... {@code finally} block:
*
- * <blockquote><pre>
+ * <blockquote><pre id="be">
* boolean completed = false;
* try {
* begin();
--- a/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractSelector.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractSelector.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@
* invoked, these methods should be used within a
* {@code try} ... {@code finally} block:
*
- * <blockquote><pre>
+ * <blockquote><pre id="be">
* try {
* begin();
* // Perform blocking I/O operation here
--- a/jdk/src/java.base/share/classes/java/nio/file/FileSystems.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/file/FileSystems.java Thu Aug 24 16:52:21 2017 -0700
@@ -50,7 +50,7 @@
* machine. If the process of loading or initializing the default provider fails
* then an unspecified error is thrown.
*
- * <p> The first invocation of the {@link FileSystemProvider#installedProviders
+ * <p> The first invocation of the {@link FileSystemProvider#installedProviders()
* installedProviders} method, by way of invoking any of the {@code
* newFileSystem} methods defined by this class, locates and loads all
* installed file system providers. Installed providers are loaded using the
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/AclEntry.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/AclEntry.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@
* {@link AclEntryPermission permissions}
* </p></li>
*
- * <li><p> The {@link #flags flags} component is a set of {@link AclEntryFlag
+ * <li><p> The {@link #flags() flags} component is a set of {@link AclEntryFlag
* flags} to indicate how entries are inherited and propagated </p></li>
* </ol>
*
--- a/jdk/src/java.base/share/classes/java/util/Calendar.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/Calendar.java Thu Aug 24 16:52:21 2017 -0700
@@ -1399,7 +1399,7 @@
/**
* Sets the week definition parameters to the values given by
* {@code firstDayOfWeek} and {@code minimalDaysInFirstWeek} that are
- * used to determine the <a href="Calendar.html#First_Week">first
+ * used to determine the <a href="Calendar.html#first_week">first
* week</a> of a year. The parameters given by this method have
* precedence over the default values given by the
* {@linkplain #setLocale(Locale) locale}.
--- a/jdk/src/java.base/share/classes/java/util/Collection.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/Collection.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -171,10 +171,10 @@
* element
* @throws ClassCastException if the type of the specified element
* is incompatible with this collection
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws NullPointerException if the specified element is null and this
* collection does not permit null elements
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
*/
boolean contains(Object o);
@@ -301,10 +301,10 @@
* @return {@code true} if an element was removed as a result of this call
* @throws ClassCastException if the type of the specified element
* is incompatible with this collection
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws NullPointerException if the specified element is null and this
* collection does not permit null elements
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws UnsupportedOperationException if the {@code remove} operation
* is not supported by this collection
*/
@@ -323,11 +323,11 @@
* @throws ClassCastException if the types of one or more elements
* in the specified collection are incompatible with this
* collection
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws NullPointerException if the specified collection contains one
* or more null elements and this collection does not permit null
* elements
- * (<a href="#optional-restrictions">optional</a>),
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>),
* or if the specified collection is null.
* @see #contains(Object)
*/
@@ -373,11 +373,11 @@
* @throws ClassCastException if the types of one or more elements
* in this collection are incompatible with the specified
* collection
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws NullPointerException if this collection contains one or more
* null elements and the specified collection does not support
* null elements
- * (<a href="#optional-restrictions">optional</a>),
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>),
* or if the specified collection is null
* @see #remove(Object)
* @see #contains(Object)
@@ -432,11 +432,11 @@
* @throws ClassCastException if the types of one or more elements
* in this collection are incompatible with the specified
* collection
- * (<a href="#optional-restrictions">optional</a>)
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>)
* @throws NullPointerException if this collection contains one or more
* null elements and the specified collection does not permit null
* elements
- * (<a href="#optional-restrictions">optional</a>),
+ * (<a href="{@docRoot}/java/util/Collection.html#optional-restrictions">optional</a>),
* or if the specified collection is null
* @see #remove(Object)
* @see #contains(Object)
--- a/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Thu Aug 24 16:52:21 2017 -0700
@@ -49,7 +49,9 @@
* and termination methods surrounding the main task processing loop.
* If you do create such a subclass, you will also need to supply a
* custom {@link ForkJoinPool.ForkJoinWorkerThreadFactory} to
- * {@linkplain ForkJoinPool#ForkJoinPool use it} in a {@code ForkJoinPool}.
+ * {@linkplain ForkJoinPool#ForkJoinPool(int, ForkJoinWorkerThreadFactory,
+ * UncaughtExceptionHandler, boolean, int, int, int, Predicate, long, TimeUnit)
+ * use it} in a {@code ForkJoinPool}.
*
* @since 1.7
* @author Doug Lea
--- a/jdk/src/java.base/share/classes/java/util/jar/package-info.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/jar/package-info.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@
* <ul>
* <li><b>Info-ZIP file format</b> - The JAR format is based on the Info-ZIP
* file format. See
- * <a href="../zip/package-summary.html#package_description">java.util.zip
+ * <a href="../zip/package-summary.html#package.description">java.util.zip
* package description.</a> <p>
* In JAR files, all file names must be encoded in the UTF-8 encoding.
* <li><a href="{@docRoot}/../specs/jar/jar.html">
--- a/jdk/src/java.base/share/classes/java/util/stream/package-info.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/stream/package-info.java Thu Aug 24 16:52:21 2017 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -415,7 +415,7 @@
* elements -- but a properly constructed reduce operation is inherently
* parallelizable, so long as the function(s) used to process the elements
* are <a href="package-summary.html#Associativity">associative</a> and
- * <a href="package-summary.html#NonInterfering">stateless</a>.
+ * <a href="package-summary.html#Statelessness">stateless</a>.
* For example, given a stream of numbers for which we want to find the sum, we
* can write:
* <pre>{@code
--- a/jdk/src/java.base/share/classes/java/util/zip/Deflater.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/zip/Deflater.java Thu Aug 24 16:52:21 2017 -0700
@@ -30,7 +30,7 @@
* popular ZLIB compression library. The ZLIB compression library was
* initially developed as part of the PNG graphics standard and is not
* protected by patents. It is fully described in the specifications at
- * the <a href="package-summary.html#package_description">java.util.zip
+ * the <a href="package-summary.html#package.description">java.util.zip
* package description</a>.
*
* <p>The following code fragment demonstrates a trivial compression
--- a/jdk/src/java.base/share/classes/java/util/zip/Inflater.java Thu Aug 24 15:40:26 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/zip/Inflater.java Thu Aug 24 16:52:21 2017 -0700
@@ -30,7 +30,7 @@
* popular ZLIB compression library. The ZLIB compression library was
* initially developed as part of the PNG graphics standard and is not
* protected by patents. It is fully described in the specifications at
- * the <a href="package-summary.html#package_description">java.util.zip
+ * the <a href="package-summary.html#package.description">java.util.zip
* package description</a>.
*
* <p>The following code fragment demonstrates a trivial compression