JckApiCompare.pl has been run on 1.4.2-b07
While testing the changes we ran the script and also Setup separately
against the latest JDK build we had: 1.4.2-b07 (and API javadoc
documentation bundled with this build).
Here is what was discovered.
The script outputs the diagnostic message:
Documented class is not public API:
This means that the class is specified in the javadoc spec but it is
not present in the sig-file from the JCK 1.4a. That is, this class
was not public in JDK 1.4.0 and 1.4.1.
==> This has been corrected by making JavaUtilJarAccessImpl package private
Also, we revealed a number of discrepancies between the javadoc spec
and the API binaries of the build b07:
(1) In the class descriptions
are specified as declared in these classes while in fact in all cases
they are inherited from the class
==> This is a known bug in the javadoc tool:
4780441: Incorrectly documents inherited elements from non-public base class
The methods actually reside in AttributeValue, which is package-private.
Javadoc mistakenly documents hashCode() and toString() as implemented
in the extended classes rather than documenting them as inherited
from a non-accessible superclass (AttributeValue).
(2) In the class descriptions
the majority of the fields
are specified to be inherited from the wrong class while they
are in fact inherited from the non-public interface
==> This is a variant on the above bug in the javadoc tool.
The fields actually reside in ZipConstants, which is a
package-private interface. Javadoc mistakenly documents
them as residing in java.util.zip.ZipEntry, a public class
that implements ZipConstants, rather than documenting them
as inherited from a non-accessible interface (ZipConstants).
(3) In the class description
are specified as declared in this class while in fact they are
inherited from the class
==> This is another variant on the above bug in the javadoc tool.
The methods actually reside in GapVector, a
package-private abstract class. Javadoc mistakenly
documents them as residing in GapContents, a public
class that extends GapVector, rather than documenting
them as inherited from a non-accessible class (GapVector).
I am not sure if these are errors in the spec, just thought it
may be of interest for you.