src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java

Mon, 21 Jan 2013 00:45:35 -0500

author
bpatel
date
Mon, 21 Jan 2013 00:45:35 -0500
changeset 1568
5f0731e4e5e6
parent 1468
690c41cdab55
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8006124: javadoc/doclet should be updated to support profiles
Reviewed-by: jjg

duke@1 1 /*
jjg@1359 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
duke@1 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@1 4 *
duke@1 5 * This code is free software; you can redistribute it and/or modify it
duke@1 6 * under the terms of the GNU General Public License version 2 only, as
ohair@554 7 * published by the Free Software Foundation. Oracle designates this
duke@1 8 * particular file as subject to the "Classpath" exception as provided
ohair@554 9 * by Oracle in the LICENSE file that accompanied this code.
duke@1 10 *
duke@1 11 * This code is distributed in the hope that it will be useful, but WITHOUT
duke@1 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@1 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@1 14 * version 2 for more details (a copy is included in the LICENSE file that
duke@1 15 * accompanied this code).
duke@1 16 *
duke@1 17 * You should have received a copy of the GNU General Public License version
duke@1 18 * 2 along with this work; if not, write to the Free Software Foundation,
duke@1 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@1 20 *
ohair@554 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@554 22 * or visit www.oracle.com if you need additional information or have any
ohair@554 23 * questions.
duke@1 24 */
duke@1 25
duke@1 26
duke@1 27 package com.sun.tools.doclets.internal.toolkit;
duke@1 28
duke@1 29 import java.io.*;
duke@1 30 import com.sun.javadoc.*;
duke@1 31
duke@1 32 /**
duke@1 33 * The interface for writing class output.
duke@1 34 *
jjg@1359 35 * <p><b>This is NOT part of any supported API.
jjg@1359 36 * If you write code that depends on this, you do so at your own risk.
jjg@1359 37 * This code and its internal interfaces are subject to change or
jjg@1359 38 * deletion without notice.</b>
duke@1 39 *
duke@1 40 * @author Jamie Ho
bpatel@766 41 * @author Bhavesh Patel (Modified)
duke@1 42 * @since 1.5
duke@1 43 */
duke@1 44
duke@1 45 public interface ClassWriter {
duke@1 46
duke@1 47 /**
bpatel@766 48 * Get the header of the page.
bpatel@766 49 *
bpatel@766 50 * @param header the header string to write
bpatel@766 51 * @return header content that needs to be added to the documentation
duke@1 52 */
bpatel@766 53 public Content getHeader(String header);
duke@1 54
duke@1 55 /**
bpatel@766 56 * Get the class content header.
bpatel@766 57 *
bpatel@766 58 * @return class content header that needs to be added to the documentation
duke@1 59 */
bpatel@766 60 public Content getClassContentHeader();
duke@1 61
duke@1 62 /**
bpatel@766 63 * Add the class tree documentation.
bpatel@766 64 *
bpatel@766 65 * @param classContentTree class content tree to which the documentation will be added
duke@1 66 */
bpatel@766 67 public void addClassTree(Content classContentTree);
duke@1 68
duke@1 69 /**
bpatel@766 70 * Get the class information tree header.
bpatel@766 71 *
bpatel@766 72 * @return class informaion tree header that needs to be added to the documentation
duke@1 73 */
bpatel@766 74 public Content getClassInfoTreeHeader();
duke@1 75
duke@1 76 /**
bpatel@766 77 * Add the type parameter information.
bpatel@766 78 *
bpatel@766 79 * @param classInfoTree content tree to which the documentation will be added
duke@1 80 */
bpatel@766 81 public void addTypeParamInfo(Content classInfoTree);
duke@1 82
duke@1 83 /**
bpatel@766 84 * Add all super interfaces if this is an interface.
bpatel@766 85 *
bpatel@766 86 * @param classInfoTree content tree to which the documentation will be added
duke@1 87 */
bpatel@766 88 public void addSuperInterfacesInfo(Content classInfoTree);
duke@1 89
duke@1 90 /**
bpatel@766 91 * Add all implemented interfaces if this is a class.
bpatel@766 92 *
bpatel@766 93 * @param classInfoTree content tree to which the documentation will be added
duke@1 94 */
bpatel@766 95 public void addImplementedInterfacesInfo(Content classInfoTree);
duke@1 96
duke@1 97 /**
bpatel@766 98 * Add all the classes that extend this one.
bpatel@766 99 *
bpatel@766 100 * @param classInfoTree content tree to which the documentation will be added
duke@1 101 */
bpatel@766 102 public void addSubClassInfo(Content classInfoTree);
duke@1 103
duke@1 104 /**
bpatel@766 105 * Add all the interfaces that extend this one.
bpatel@766 106 *
bpatel@766 107 * @param classInfoTree content tree to which the documentation will be added
duke@1 108 */
bpatel@766 109 public void addSubInterfacesInfo(Content classInfoTree);
duke@1 110
duke@1 111 /**
bpatel@766 112 * If this is an interface, add all classes that implement this
bpatel@766 113 * interface.
bpatel@766 114 *
bpatel@766 115 * @param classInfoTree content tree to which the documentation will be added
duke@1 116 */
bpatel@766 117 public void addInterfaceUsageInfo(Content classInfoTree);
duke@1 118
duke@1 119 /**
bpatel@1468 120 * If this is an functional interface, display appropriate message.
bpatel@1468 121 *
bpatel@1468 122 * @param classInfoTree content tree to which the documentation will be added
bpatel@1468 123 */
bpatel@1468 124 public void addFunctionalInterfaceInfo(Content classInfoTree);
bpatel@1468 125
bpatel@1468 126 /**
bpatel@766 127 * If this is an inner class or interface, add the enclosing class or
bpatel@766 128 * interface.
duke@1 129 *
bpatel@766 130 * @param classInfoTree content tree to which the documentation will be added
duke@1 131 */
bpatel@766 132 public void addNestedClassInfo (Content classInfoTree);
bpatel@766 133
bpatel@766 134 /**
bpatel@766 135 * Get the class information.
bpatel@766 136 *
bpatel@766 137 * @param classInfoTree content tree conatining the class information
bpatel@766 138 * @return a content tree for the class
bpatel@766 139 */
bpatel@766 140 public Content getClassInfo(Content classInfoTree);
bpatel@766 141
bpatel@766 142 /**
bpatel@766 143 * If this class is deprecated, add the appropriate information.
bpatel@766 144 *
bpatel@766 145 * @param classInfoTree content tree to which the documentation will be added
bpatel@766 146 */
bpatel@766 147 public void addClassDeprecationInfo (Content classInfoTree);
bpatel@766 148
bpatel@766 149 /**
bpatel@766 150 * Add the signature of the current class content tree.
bpatel@766 151 *
bpatel@766 152 * @param modifiers the modifiers for the signature
bpatel@766 153 * @param classInfoTree the class content tree to which the signature will be added
bpatel@766 154 */
bpatel@766 155 public void addClassSignature(String modifiers, Content classInfoTree);
duke@1 156
duke@1 157 /**
duke@1 158 * Build the class description.
bpatel@766 159 *
bpatel@766 160 * @param classInfoTree content tree to which the documentation will be added
duke@1 161 */
bpatel@766 162 public void addClassDescription(Content classInfoTree);
duke@1 163
duke@1 164 /**
bpatel@766 165 * Add the tag information for the current class.
bpatel@766 166 *
bpatel@766 167 * @param classInfoTree content tree to which the tag information will be added
duke@1 168 */
bpatel@766 169 public void addClassTagInfo(Content classInfoTree);
duke@1 170
duke@1 171 /**
bpatel@766 172 * Get the member tree header for the class.
bpatel@766 173 *
bpatel@766 174 * @return a content tree for the member tree header
duke@1 175 */
bpatel@766 176 public Content getMemberTreeHeader();
bpatel@766 177
bpatel@766 178 /**
bpatel@766 179 * Add the footer of the page.
bpatel@766 180 *
bpatel@766 181 * @param contentTree content tree to which the footer will be added
bpatel@766 182 */
bpatel@766 183 public void addFooter(Content contentTree);
bpatel@766 184
bpatel@766 185 /**
bpatel@766 186 * Print the document.
bpatel@766 187 *
bpatel@766 188 * @param contentTree content tree that will be printed as a document
bpatel@766 189 */
jjg@1364 190 public void printDocument(Content contentTree) throws IOException;
duke@1 191
duke@1 192 /**
duke@1 193 * Close the writer.
duke@1 194 */
duke@1 195 public void close() throws IOException;
duke@1 196
duke@1 197 /**
duke@1 198 * Return the classDoc being documented.
duke@1 199 *
duke@1 200 * @return the classDoc being documented.
duke@1 201 */
duke@1 202 public ClassDoc getClassDoc();
duke@1 203
duke@1 204 /**
bpatel@766 205 * Get the member summary tree.
bpatel@766 206 *
bpatel@766 207 * @param memberTree the content tree used to build the summary tree
bpatel@766 208 * @return a content tree for the member summary
duke@1 209 */
bpatel@766 210 public Content getMemberSummaryTree(Content memberTree);
bpatel@766 211
bpatel@766 212 /**
bpatel@766 213 * Get the member details tree.
bpatel@766 214 *
bpatel@766 215 * @param memberTree the content tree used to build the details tree
bpatel@766 216 * @return a content tree for the member details
bpatel@766 217 */
bpatel@766 218 public Content getMemberDetailsTree(Content memberTree);
duke@1 219 }

mercurial