src/jdk.javadoc/share/classes/jdk/javadoc/doclet/StandardDoclet.java
author chegar
Thu, 17 Oct 2019 20:54:25 +0100
branchdatagramsocketimpl-branch
changeset 58679 9c3209ff7550
parent 58678 9cf78a70fa4f
parent 57704 072f27397b69
permissions -rw-r--r--
datagramsocketimpl-branch: merge with default
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
49415
56a5f899e882 8199902: {@docRoot} references need to be updated to reflect new module/package structure
jjg
parents: 47216
diff changeset
     2
 * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 *
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5520
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 5004
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5520
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 5004
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
 *
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
 *
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
 *
5520
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 5004
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 5004
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 5004
diff changeset
    23
 * questions.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
44189
dd311cfb920b 8176331: Simplify new doclet packages
jjg
parents: 40315
diff changeset
    26
package jdk.javadoc.doclet;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    28
import java.util.Locale;
57704
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    29
import java.util.List;
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    30
import java.util.Set;
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    31
57704
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    32
import javax.lang.model.element.Element;
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    33
import javax.lang.model.SourceVersion;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    34
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    35
import jdk.javadoc.internal.doclets.formats.html.HtmlDoclet;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    36
39179
c04b68e23fa4 8154399: Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
jjg
parents: 35426
diff changeset
    37
/**
45548
7db465d26194 8180296: Move Javadoc: doclet, taglet specs to specs directory
jjg
parents: 44189
diff changeset
    38
 * This doclet generates HTML-formatted documentation for the specified modules,
7db465d26194 8180296: Move Javadoc: doclet, taglet specs to specs directory
jjg
parents: 44189
diff changeset
    39
 * packages and types.
7db465d26194 8180296: Move Javadoc: doclet, taglet specs to specs directory
jjg
parents: 44189
diff changeset
    40
 *
57704
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    41
 * <h2><a id="user-defined-taglets">User-Defined Taglets</a></h2>
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    42
 *
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    43
 * The standard doclet supports user-defined {@link Taglet taglets},
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    44
 * which can be used to generate customized output for user-defined tags
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    45
 * in documentation comments.
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    46
 *
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    47
 * Taglets invoked by the standard doclet must return strings from
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    48
 * {@link Taglet#toString(List,Element) Taglet.toString} as follows:
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    49
 *
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    50
 * <dl>
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    51
 * <dt> <i>Inline Tags</i>
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    52
 * <dd> The returned string must be
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    53
 *      <a href="https://www.w3.org/TR/html52/dom.html#flow-content">flow content</a>,
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    54
 *      or any valid fragment of HTML code that may appear in the body of a document.
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    55
 *      There may be additional constraints, depending on how the tag is to be
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    56
 *      used in a documentation comment: for example, if the tag may be used
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    57
 *      within an inline element such as {@code <b>} or {@code <i>}, the taglet
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    58
 *      must not return a string containing block tags, like {@code <h3>} or
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    59
 *      {@code <p>}.
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    60
 * <dt> <i>Block Tags</i>
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    61
 * <dd> The returned string must be suitable content for a definition list,
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    62
 *      or {@code <dl>} element. It will typically be a series of pairs
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    63
 *      of {@code <dt>} and {@code <dd>} elements.
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    64
 * </dl>
072f27397b69 8227697: Improve text in Taglet API spec for expected results with standard doclet
jjg
parents: 55202
diff changeset
    65
 *
55202
7c49133fc1bc 8178982: Javadoc search specification
hannesw
parents: 50205
diff changeset
    66
 * @see <a href="{@docRoot}/../specs/javadoc/doc-comment-spec.html">
45548
7db465d26194 8180296: Move Javadoc: doclet, taglet specs to specs directory
jjg
parents: 44189
diff changeset
    67
 *      Documentation Comment Specification for the Standard Doclet</a>
39179
c04b68e23fa4 8154399: Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
jjg
parents: 35426
diff changeset
    68
 */
c04b68e23fa4 8154399: Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
jjg
parents: 35426
diff changeset
    69
public class StandardDoclet implements Doclet {
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    70
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    71
    private final HtmlDoclet htmlDoclet;
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    72
39179
c04b68e23fa4 8154399: Need replacement for jdk.javadoc/com.sun.tools.doclets.standard.Standard
jjg
parents: 35426
diff changeset
    73
    public StandardDoclet() {
49952
a6224ea48b66 8201817: Taglet.init should be called with the "primary" doclet
jjg
parents: 49415
diff changeset
    74
        htmlDoclet = new HtmlDoclet(this);
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    75
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    76
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    77
    @Override
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    78
    public void init(Locale locale, Reporter reporter) {
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    79
        htmlDoclet.init(locale, reporter);
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    80
    }
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    81
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    82
    @Override
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    83
    public String getName() {
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    84
        return "Standard";
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    85
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    86
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    87
    @Override
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    88
    public Set<Doclet.Option> getSupportedOptions() {
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    89
        return htmlDoclet.getSupportedOptions();
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    90
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    91
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    92
    @Override
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
    93
    public SourceVersion getSupportedSourceVersion() {
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    94
        return htmlDoclet.getSupportedSourceVersion();
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    95
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    96
40315
9e994c77db6a 8160137: HTMLDoclet and AbstractDoclet should implement Doclet
jjg
parents: 39364
diff changeset
    97
    @Override
39364
bd6d4a7936b4 8160301: javadoc RootDoclmpl and DocEnv needs to be renamed
ksrini
parents: 39179
diff changeset
    98
    public boolean run(DocletEnvironment docEnv) {
bd6d4a7936b4 8160301: javadoc RootDoclmpl and DocEnv needs to be renamed
ksrini
parents: 39179
diff changeset
    99
        return htmlDoclet.run(docEnv);
35426
374342e56a56 8035473: [javadoc] Revamp the existing Doclet APIs
ksrini
parents: 25874
diff changeset
   100
    }
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   101
}