langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java
author jjg
Fri, 27 May 2016 13:06:58 -0700
changeset 38617 d93a7f64e231
parent 34752 9c262a013456
permissions -rw-r--r--
8157606: deprecate com.sun.javadoc API Reviewed-by: ksrini
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
25454
376a52c9540c 8039028: [javadoc] refactor the usage of Util.java
ksrini
parents: 17561
diff changeset
     2
 * Copyright (c) 2003, 2014, 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: 1787
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: 1787
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: 1787
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 1787
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
86e4b9a9da40 6943119: Rebrand source copyright notices
ohair
parents: 1787
diff changeset
    23
 * questions.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
package com.sun.tools.doclets.formats.html;
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
06bc494ca11e Initial load
duke
parents:
diff changeset
    28
import com.sun.javadoc.*;
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
    29
import com.sun.tools.doclets.formats.html.markup.ContentBuilder;
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
    30
import com.sun.tools.doclets.formats.html.markup.StringContent;
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
    31
import com.sun.tools.doclets.internal.toolkit.Content;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    32
import com.sun.tools.doclets.internal.toolkit.util.links.*;
06bc494ca11e Initial load
duke
parents:
diff changeset
    33
14260
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    34
/**
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    35
 *  <p><b>This is NOT part of any supported API.
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    36
 *  If you write code that depends on this, you do so at your own risk.
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    37
 *  This code and its internal interfaces are subject to change or
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    38
 *  deletion without notice.</b>
727a84636f12 8000665: fix "internal API" comments on javadoc files
jjg
parents: 9083
diff changeset
    39
 */
38617
d93a7f64e231 8157606: deprecate com.sun.javadoc API
jjg
parents: 34752
diff changeset
    40
@Deprecated
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    41
public class LinkInfoImpl extends LinkInfo {
06bc494ca11e Initial load
duke
parents:
diff changeset
    42
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    43
    public enum Kind {
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    44
        DEFAULT,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    45
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    46
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    47
         * Indicate that the link appears in a class list.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    48
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    49
        ALL_CLASSES_FRAME,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    50
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    51
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    52
         * Indicate that the link appears in a class documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    53
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    54
        CLASS,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    55
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    56
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    57
         * Indicate that the link appears in member documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    58
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    59
        MEMBER,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    60
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    61
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    62
         * Indicate that the link appears in class use documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    63
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    64
        CLASS_USE,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    65
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    66
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    67
         * Indicate that the link appears in index documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    68
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    69
        INDEX,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    70
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    71
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    72
         * Indicate that the link appears in constant value summary.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    73
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    74
        CONSTANT_SUMMARY,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    75
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    76
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    77
         * Indicate that the link appears in serialized form documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    78
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    79
        SERIALIZED_FORM,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    80
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    81
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    82
         * Indicate that the link appears in serial member documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    83
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    84
        SERIAL_MEMBER,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    85
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    86
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    87
         * Indicate that the link appears in package documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    88
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    89
        PACKAGE,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    90
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    91
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    92
         * Indicate that the link appears in see tag documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    93
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    94
        SEE_TAG,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    95
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    96
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    97
         * Indicate that the link appears in value tag documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    98
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
    99
        VALUE_TAG,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   100
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   101
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   102
         * Indicate that the link appears in tree documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   103
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   104
        TREE,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   105
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   106
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   107
         * Indicate that the link appears in a class list.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   108
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   109
        PACKAGE_FRAME,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   110
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   111
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   112
         * The header in the class documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   113
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   114
        CLASS_HEADER,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   115
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   116
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   117
         * The signature in the class documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   118
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   119
        CLASS_SIGNATURE,
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   120
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   121
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   122
         * The return type of a method.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   123
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   124
        RETURN_TYPE,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   125
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   126
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   127
         * The return type of a method in a member summary.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   128
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   129
        SUMMARY_RETURN_TYPE,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   130
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   131
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   132
         * The type of a method/constructor parameter.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   133
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   134
        EXECUTABLE_MEMBER_PARAM,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   135
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   136
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   137
         * Super interface links.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   138
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   139
        SUPER_INTERFACES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   140
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   141
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   142
         * Implemented interface links.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   143
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   144
        IMPLEMENTED_INTERFACES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   145
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   146
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   147
         * Implemented class links.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   148
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   149
        IMPLEMENTED_CLASSES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   150
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   151
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   152
         * Subinterface links.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   153
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   154
        SUBINTERFACES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   155
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   156
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   157
         * Subclasses links.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   158
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   159
        SUBCLASSES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   160
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   161
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   162
         * The signature in the class documentation (implements/extends portion).
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   163
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   164
        CLASS_SIGNATURE_PARENT_NAME,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   165
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   166
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   167
         * The header for method documentation copied from parent.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   168
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   169
        METHOD_DOC_COPY,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   170
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   171
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   172
         * Method "specified by" link.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   173
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   174
        METHOD_SPECIFIED_BY,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   175
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   176
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   177
         * Method "overrides" link.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   178
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   179
        METHOD_OVERRIDES,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   180
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   181
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   182
         * Annotation link.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   183
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   184
        ANNOTATION,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   185
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   186
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   187
         * The header for field documentation copied from parent.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   188
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   189
        FIELD_DOC_COPY,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   190
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   191
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   192
         * The parent nodes in the class tree.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   193
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   194
        CLASS_TREE_PARENT,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   195
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   196
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   197
         * The type parameters of a method or constructor.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   198
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   199
        MEMBER_TYPE_PARAMS,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   200
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   201
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   202
         * Indicate that the link appears in class use documentation.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   203
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   204
        CLASS_USE_HEADER,
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   205
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   206
        /**
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   207
         * The header for property documentation copied from parent.
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   208
         */
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   209
        PROPERTY_DOC_COPY
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   210
    }
16319
e586bfeb39c5 7112427: The doclet needs to be able to generate JavaFX documentation.
jjg
parents: 15385
diff changeset
   211
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   212
    public final ConfigurationImpl configuration;
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   213
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   214
    /**
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   215
     * The location of the link.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   216
     */
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   217
    public Kind context = Kind.DEFAULT;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   218
06bc494ca11e Initial load
duke
parents:
diff changeset
   219
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   220
     * The value of the marker #.
06bc494ca11e Initial load
duke
parents:
diff changeset
   221
     */
06bc494ca11e Initial load
duke
parents:
diff changeset
   222
    public String where = "";
06bc494ca11e Initial load
duke
parents:
diff changeset
   223
06bc494ca11e Initial load
duke
parents:
diff changeset
   224
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   225
     * String style of text defined in style sheet.
06bc494ca11e Initial load
duke
parents:
diff changeset
   226
     */
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   227
    public String styleName = "";
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   228
06bc494ca11e Initial load
duke
parents:
diff changeset
   229
    /**
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   230
     * The value of the target.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   231
     */
06bc494ca11e Initial load
duke
parents:
diff changeset
   232
    public String target = "";
06bc494ca11e Initial load
duke
parents:
diff changeset
   233
06bc494ca11e Initial load
duke
parents:
diff changeset
   234
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   235
     * Construct a LinkInfo object.
06bc494ca11e Initial load
duke
parents:
diff changeset
   236
     *
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   237
     * @param configuration the configuration data for the doclet
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   238
     * @param context    the context of the link.
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   239
     * @param context               the context of the link.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   240
     * @param executableMemberDoc   the member to link to.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   241
     */
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   242
    public LinkInfoImpl(ConfigurationImpl configuration,
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   243
            Kind context, ExecutableMemberDoc executableMemberDoc) {
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   244
        this.configuration = configuration;
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   245
        this.executableMemberDoc = executableMemberDoc;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   246
        setContext(context);
06bc494ca11e Initial load
duke
parents:
diff changeset
   247
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   248
06bc494ca11e Initial load
duke
parents:
diff changeset
   249
    /**
31751
ec251536a004 8080880: some docs cleanup for langtools
avstepan
parents: 25874
diff changeset
   250
     * {@inheritDoc}
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   251
     */
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   252
    protected Content newContent() {
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   253
        return new ContentBuilder();
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   254
    }
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   255
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   256
    /**
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   257
     * Construct a LinkInfo object.
06bc494ca11e Initial load
duke
parents:
diff changeset
   258
     *
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   259
     * @param configuration the configuration data for the doclet
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   260
     * @param context    the context of the link.
06bc494ca11e Initial load
duke
parents:
diff changeset
   261
     * @param classDoc   the class to link to.
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   262
     */
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   263
    public LinkInfoImpl(ConfigurationImpl configuration,
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   264
            Kind context, ClassDoc classDoc) {
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   265
        this.configuration = configuration;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   266
        this.classDoc = classDoc;
06bc494ca11e Initial load
duke
parents:
diff changeset
   267
        setContext(context);
06bc494ca11e Initial load
duke
parents:
diff changeset
   268
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   269
06bc494ca11e Initial load
duke
parents:
diff changeset
   270
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   271
     * Construct a LinkInfo object.
06bc494ca11e Initial load
duke
parents:
diff changeset
   272
     *
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   273
     * @param configuration the configuration data for the doclet
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   274
     * @param context    the context of the link.
06bc494ca11e Initial load
duke
parents:
diff changeset
   275
     * @param type       the class to link to.
06bc494ca11e Initial load
duke
parents:
diff changeset
   276
     */
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   277
    public LinkInfoImpl(ConfigurationImpl configuration,
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   278
            Kind context, Type type) {
14542
7062120649c2 8000800: javadoc uses static non-final fields
jjg
parents: 14260
diff changeset
   279
        this.configuration = configuration;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   280
        this.type = type;
06bc494ca11e Initial load
duke
parents:
diff changeset
   281
        setContext(context);
06bc494ca11e Initial load
duke
parents:
diff changeset
   282
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   283
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   284
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   285
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   286
     * Set the label for the link.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   287
     * @param label plain-text label for the link
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   288
     */
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   289
    public LinkInfoImpl label(String label) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   290
        this.label = new StringContent(label);
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   291
        return this;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   292
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   293
06bc494ca11e Initial load
duke
parents:
diff changeset
   294
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   295
     * Set the label for the link.
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   296
     */
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   297
    public LinkInfoImpl label(Content label) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   298
        this.label = label;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   299
        return this;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   300
    }
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   301
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   302
    /**
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   303
     * Set whether or not the link should be strong.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   304
     */
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   305
    public LinkInfoImpl strong(boolean strong) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   306
        this.isStrong = strong;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   307
        return this;
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   308
    }
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   309
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   310
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   311
     * Set the style to be used for the link.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   312
     * @param styleName  String style of text defined in style sheet.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   313
     */
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   314
    public LinkInfoImpl styleName(String styleName) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   315
        this.styleName = styleName;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   316
        return this;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   317
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   318
06bc494ca11e Initial load
duke
parents:
diff changeset
   319
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   320
     * Set the target to be used for the link.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   321
     * @param styleName  String style of text defined in style sheet.
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   322
     */
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   323
    public LinkInfoImpl target(String target) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   324
        this.target = target;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   325
        return this;
17560
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   326
    }
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   327
9f6771abbd1a 8011650: reduce use of RawHtml nodes in doclet
jjg
parents: 17558
diff changeset
   328
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   329
     * Set whether or not this is a link to a varargs parameter.
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   330
     */
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   331
    public LinkInfoImpl varargs(boolean varargs) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   332
        this.isVarArg = varargs;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   333
        return this;
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   334
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   335
06bc494ca11e Initial load
duke
parents:
diff changeset
   336
    /**
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   337
     * Set the fragment specifier for the link.
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   338
     */
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   339
    public LinkInfoImpl where(String where) {
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   340
        this.where = where;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   341
        return this;
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   342
     }
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   343
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   344
    /**
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   345
     * {@inheritDoc}
06bc494ca11e Initial load
duke
parents:
diff changeset
   346
     */
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   347
    public Kind getContext() {
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   348
        return context;
06bc494ca11e Initial load
duke
parents:
diff changeset
   349
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   350
06bc494ca11e Initial load
duke
parents:
diff changeset
   351
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   352
     * {@inheritDoc}
06bc494ca11e Initial load
duke
parents:
diff changeset
   353
     *
06bc494ca11e Initial load
duke
parents:
diff changeset
   354
     * This method sets the link attributes to the appropriate values
06bc494ca11e Initial load
duke
parents:
diff changeset
   355
     * based on the context.
06bc494ca11e Initial load
duke
parents:
diff changeset
   356
     *
06bc494ca11e Initial load
duke
parents:
diff changeset
   357
     * @param c the context id to set.
06bc494ca11e Initial load
duke
parents:
diff changeset
   358
     */
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   359
    public final void setContext(Kind c) {
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   360
        //NOTE:  Put context specific link code here.
06bc494ca11e Initial load
duke
parents:
diff changeset
   361
        switch (c) {
06bc494ca11e Initial load
duke
parents:
diff changeset
   362
            case ALL_CLASSES_FRAME:
06bc494ca11e Initial load
duke
parents:
diff changeset
   363
            case PACKAGE_FRAME:
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   364
            case IMPLEMENTED_CLASSES:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   365
            case SUBCLASSES:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   366
            case METHOD_DOC_COPY:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   367
            case FIELD_DOC_COPY:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   368
            case PROPERTY_DOC_COPY:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   369
            case CLASS_USE_HEADER:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   370
                includeTypeInClassLinkLabel = false;
06bc494ca11e Initial load
duke
parents:
diff changeset
   371
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   372
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   373
            case ANNOTATION:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   374
                excludeTypeParameterLinks = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   375
                excludeTypeBounds = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   376
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   377
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   378
            case IMPLEMENTED_INTERFACES:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   379
            case SUPER_INTERFACES:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   380
            case SUBINTERFACES:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   381
            case CLASS_TREE_PARENT:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   382
            case TREE:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   383
            case CLASS_SIGNATURE_PARENT_NAME:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   384
                excludeTypeParameterLinks = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   385
                excludeTypeBounds = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   386
                includeTypeInClassLinkLabel = false;
06bc494ca11e Initial load
duke
parents:
diff changeset
   387
                includeTypeAsSepLink = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   388
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   389
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   390
            case PACKAGE:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   391
            case CLASS_USE:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   392
            case CLASS_HEADER:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   393
            case CLASS_SIGNATURE:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   394
                excludeTypeParameterLinks = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   395
                includeTypeAsSepLink = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   396
                includeTypeInClassLinkLabel = false;
06bc494ca11e Initial load
duke
parents:
diff changeset
   397
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   398
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   399
            case MEMBER_TYPE_PARAMS:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   400
                includeTypeAsSepLink = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   401
                includeTypeInClassLinkLabel = false;
06bc494ca11e Initial load
duke
parents:
diff changeset
   402
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   403
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   404
            case RETURN_TYPE:
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   405
            case SUMMARY_RETURN_TYPE:
15385
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents: 14542
diff changeset
   406
                excludeTypeBounds = true;
ee1eebe7e210 8006775: JSR 308: Compiler changes in JDK8
jjg
parents: 14542
diff changeset
   407
                break;
17558
eee4ccf66cfd 8010440: Replace int constants in LinkInfoImpl with enum
jjg
parents: 16319
diff changeset
   408
            case EXECUTABLE_MEMBER_PARAM:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   409
                excludeTypeBounds = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   410
                break;
06bc494ca11e Initial load
duke
parents:
diff changeset
   411
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
   412
        context = c;
06bc494ca11e Initial load
duke
parents:
diff changeset
   413
        if (type != null &&
06bc494ca11e Initial load
duke
parents:
diff changeset
   414
            type.asTypeVariable()!= null &&
17561
9f3505f35da9 8011651: simplify LinkInfoImpl API
jjg
parents: 17560
diff changeset
   415
            type.asTypeVariable().owner() instanceof ExecutableMemberDoc) {
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   416
            excludeTypeParameterLinks = true;
06bc494ca11e Initial load
duke
parents:
diff changeset
   417
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
   418
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   419
06bc494ca11e Initial load
duke
parents:
diff changeset
   420
    /**
06bc494ca11e Initial load
duke
parents:
diff changeset
   421
     * Return true if this link is linkable and false if we can't link to the
06bc494ca11e Initial load
duke
parents:
diff changeset
   422
     * desired place.
06bc494ca11e Initial load
duke
parents:
diff changeset
   423
     *
06bc494ca11e Initial load
duke
parents:
diff changeset
   424
     * @return true if this link is linkable and false if we can't link to the
06bc494ca11e Initial load
duke
parents:
diff changeset
   425
     * desired place.
06bc494ca11e Initial load
duke
parents:
diff changeset
   426
     */
06bc494ca11e Initial load
duke
parents:
diff changeset
   427
    public boolean isLinkable() {
25454
376a52c9540c 8039028: [javadoc] refactor the usage of Util.java
ksrini
parents: 17561
diff changeset
   428
        return configuration.utils.isLinkable(classDoc, configuration);
10
06bc494ca11e Initial load
duke
parents:
diff changeset
   429
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
   430
}