8206318: Enhance package documentation for internal javadoc packages

Reviewed-by: sundar
This commit is contained in:
Jonathan Gibbons 2018-07-05 14:35:03 -07:00
parent 10fca535db
commit ea084baf94
12 changed files with 267 additions and 76 deletions

View file

@ -0,0 +1,36 @@
/*
* Copyright (c) 2003, 2018, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* This package provides the javadoc implementation of relevant
* public API defined in {@link javax.tools}, which provides an
* API alternative to invoking javadoc via the command line.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.api;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2018, 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
@ -24,17 +24,18 @@
*/
/**
* This package contains classes that create and write HTML markup tags.
* This package contains classes that create and write HTML markup tags.
*
* The primary low level classes are {@link HtmlTree} and subtypes
* of {@code Content}. In addition, there are mid-level builders
* like {@link TableHeader} and {@link Table} to help build more
* complex HTML trees.
* <p>The primary low level classes are
* {@link jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree HtmlTree}
* and other subtypes of {@code Content}. In addition, there are mid-level builders
* like {@link jdk.javadoc.internal.doclets.formats.html.markup.TableHeader TableHeader}
* and {@link jdk.javadoc.internal.doclets.formats.html.markup.Table Table}
* to help build more complex HTML trees.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.formats.html.markup;

View file

@ -0,0 +1,39 @@
/*
* Copyright (c) 2018, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* The set of low-level file-formats, to be used in conjunction with
* the {@link jdk.javadoc.internal.doclets.toolkit doclets.toolkit} API.
*
* <p>Currently, only {@link jdk.javadoc.internal.doclets.formats.html HTML}
* format is supported.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.formats;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -24,10 +24,25 @@
*/
/**
<p><b>This is NOT part of any supported API.
If you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.</b>
* Doclets provide the user-selectable backends for processing the
* documentation comnments in Java source code.
*
* <p>Doclets are implementations of the {@link jdk.javadoc.doclet Doclet API}.</p>
*
* <p>Currently, there is only one supported doclet, the
* {@link jdk.javadoc.internal.doclets.formats.html.HtmlDoclet HtmlDoclet},
* for writing API documentation in HTML. Nevertheless, in order to
* separate the high-level code for the general content of each page
* from the low-level details of how to write such content, the code is
* organized in two sections: a format-neutral
* {@link jdk.javadoc.internal.doclets.toolkit toolkit API},
* and a specific {@link jdk.javadoc.internal.doclets.formats format},
* such as {@link jdk.javadoc.internal.doclets.formats.html HTML format}.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -24,17 +24,17 @@
*/
/**
This doclet-independent package has a set of classes and
interfaces that are the building blocks for doclets. They
define the basic structure of doclets and make doclet
writing much easier because they provide the content generation
code to be shared among different doclets. Builders only provide
the structure and content of API documentation.
They will not provide any style markup.
<p><b>This is NOT part of any supported API.
If you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.</b>
*/
* This doclet-independent package has a set of classes and
* interfaces that are the building blocks for doclets. They
* define the basic structure of doclets and make doclet
* writing much easier because they provide the content generation
* code to be shared among different doclets. Builders only provide
* the structure and content of API documentation.
* They do not directly provide any style markup.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.toolkit.builders;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -24,29 +24,28 @@
*/
/**
This package has classes used to generate Javadoc tag documentation.
Doclets no longer have to implement its own version of standard tags
such as &#64;param and &#64;throws. This is the single, doclet
implementation of each standard tag that is shared by all
doclets. Each doclet must have a taglet writer that takes a taglet
as input and writes doclet-dependent output. The taglet itself will
do the tag processing. For example, suppose we are outputing
&#64;throws tags. The taglet would:
<ul>
<li> Retrieve the list of throws tags to be documented.
<li> Replace {&#64;inheritDoc} with the appropriate documentation.
<li> Add throws documentation for exceptions that are declared in
the signature of the method but
not documented with the throws tags.
</ul>
After doing the steps above, the taglet would pass the information to
the taglet writer for writing. The taglets are essentially builders for
tags.
<p><b>This is NOT part of any supported API.
If you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.</b>
*/
* This package has classes used to generate output for Javadoc tags.
*
* <p>Doclets no longer have to implement their own version of standard tags
* such as &#64;param and &#64;throws. Individual taglets provide
* common processing, independent of the output format.
* Each doclet must have a taglet writer that takes a taglet
* as input and writes doclet-dependent output. The taglet itself will
* do the tag processing. For example, suppose we are outputing
* &#64;throws tags. The taglet would:
* <ul>
* <li> Retrieve the list of throws tags to be documented.
* <li> Replace {&#64;inheritDoc} with the appropriate documentation.
* <li> Add throws documentation for exceptions that are declared in
* the signature of the method but not documented with the throws tags.
* </ul>
* After doing the steps above, the taglet would pass the information to
* the taglet writer for writing. The taglets are essentially builders for
* tags.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.toolkit.taglets;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -33,14 +33,14 @@ import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
import jdk.javadoc.internal.doclets.toolkit.Content;
/**
* Encapsulates information about a link.
* Encapsulates information about a link.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*
* @author Jamie Ho
* @author Jamie Ho
*/
public abstract class LinkInfo {

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -26,7 +26,7 @@
package jdk.javadoc.internal.doclets.toolkit.util.links;
/**
* Stores output of a link.
* Stores output of a link.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -24,12 +24,11 @@
*/
/**
Provides a factory for constructing links.
<p><b>This is NOT part of any supported API.
If you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.</b>
*/
* Provides a factory for constructing links.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.toolkit.util.links;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2018, 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
@ -24,13 +24,12 @@
*/
/**
This package has utility classes that perform common services required
for API documentation generation.
<p><b>This is NOT part of any supported API.
If you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.</b>
*/
* This package has utility classes that perform common services required
* for API documentation generation.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.doclets.toolkit.util;

View file

@ -0,0 +1,54 @@
/*
* Copyright (c) 2018, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* The implementation of the javadoc tool, and associated doclets.
*
* <p>Internally, javadoc is composed of two primary parts:
* the {@link jdk.javadoc.internal.tool tool}, and a series of
* {@link jdk.javadoc.internal.doclets doclets}.
*
* The tool provides a common infrastructure for command-line processing,
* and for reading the documentation comments in Java source files,
* while doclets provide a user-selectable backend for determining
* how to process the documentation comments.
*
* <p><em>Historical Note:</em> Prior to the introduction of the
* {@link javax.lang.model Language Model API} in JDK 6, it was
* not unusual to use the {@link com.sun.javadoc} API as a
* modeling API. But the Language Model API, and associated
* {@link javax.annotation.processing Annotation Processing API}
* provided a better way to model programs, and in JDK 9,
* javadoc itself was converted to using the Language Model API,
* with the {@code com.sun.javadoc API} being deprecated for
* eventual removal.
* </p>
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal;

View file

@ -0,0 +1,49 @@
/*
* Copyright (c) 2018, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides the front end for the javadoc tool.
*
* <p>The main entry points are in {@link jdk.javadoc.internal.tool.Main}
* which calls the (poorly-named) {@link jdk.javadoc.internal.tool.Start}
* which provides the overall functionality of the tool.
*
* <p>The classes provide a framework for processing command-line options
* and determining the set of elements (modules, packages, types and members)
* to be documented.
*
* <p>The classes also provide the means to use the javac front end to read
* source files, including the documentation comments.
*
* <p>Finally, once the appropriate files have been read, the classes invoke
* the selected doclet to process those files, typically to generate API
* documentation.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own risk.
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
package jdk.javadoc.internal.tool;