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

Mon, 19 Nov 2012 16:10:34 -0800

author
bpatel
date
Mon, 19 Nov 2012 16:10:34 -0800
changeset 1417
522a1ee72340
parent 1364
8db45b13526e
child 1468
690c41cdab55
permissions
-rw-r--r--

8002304: Group methods by types in methods summary section
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@766 120 * If this is an inner class or interface, add the enclosing class or
bpatel@766 121 * interface.
duke@1 122 *
bpatel@766 123 * @param classInfoTree content tree to which the documentation will be added
duke@1 124 */
bpatel@766 125 public void addNestedClassInfo (Content classInfoTree);
bpatel@766 126
bpatel@766 127 /**
bpatel@766 128 * Get the class information.
bpatel@766 129 *
bpatel@766 130 * @param classInfoTree content tree conatining the class information
bpatel@766 131 * @return a content tree for the class
bpatel@766 132 */
bpatel@766 133 public Content getClassInfo(Content classInfoTree);
bpatel@766 134
bpatel@766 135 /**
bpatel@766 136 * If this class is deprecated, add the appropriate information.
bpatel@766 137 *
bpatel@766 138 * @param classInfoTree content tree to which the documentation will be added
bpatel@766 139 */
bpatel@766 140 public void addClassDeprecationInfo (Content classInfoTree);
bpatel@766 141
bpatel@766 142 /**
bpatel@766 143 * Add the signature of the current class content tree.
bpatel@766 144 *
bpatel@766 145 * @param modifiers the modifiers for the signature
bpatel@766 146 * @param classInfoTree the class content tree to which the signature will be added
bpatel@766 147 */
bpatel@766 148 public void addClassSignature(String modifiers, Content classInfoTree);
duke@1 149
duke@1 150 /**
duke@1 151 * Build the class description.
bpatel@766 152 *
bpatel@766 153 * @param classInfoTree content tree to which the documentation will be added
duke@1 154 */
bpatel@766 155 public void addClassDescription(Content classInfoTree);
duke@1 156
duke@1 157 /**
bpatel@766 158 * Add the tag information for the current class.
bpatel@766 159 *
bpatel@766 160 * @param classInfoTree content tree to which the tag information will be added
duke@1 161 */
bpatel@766 162 public void addClassTagInfo(Content classInfoTree);
duke@1 163
duke@1 164 /**
bpatel@766 165 * Get the member tree header for the class.
bpatel@766 166 *
bpatel@766 167 * @return a content tree for the member tree header
duke@1 168 */
bpatel@766 169 public Content getMemberTreeHeader();
bpatel@766 170
bpatel@766 171 /**
bpatel@766 172 * Add the footer of the page.
bpatel@766 173 *
bpatel@766 174 * @param contentTree content tree to which the footer will be added
bpatel@766 175 */
bpatel@766 176 public void addFooter(Content contentTree);
bpatel@766 177
bpatel@766 178 /**
bpatel@766 179 * Print the document.
bpatel@766 180 *
bpatel@766 181 * @param contentTree content tree that will be printed as a document
bpatel@766 182 */
jjg@1364 183 public void printDocument(Content contentTree) throws IOException;
duke@1 184
duke@1 185 /**
duke@1 186 * Close the writer.
duke@1 187 */
duke@1 188 public void close() throws IOException;
duke@1 189
duke@1 190 /**
duke@1 191 * Return the classDoc being documented.
duke@1 192 *
duke@1 193 * @return the classDoc being documented.
duke@1 194 */
duke@1 195 public ClassDoc getClassDoc();
duke@1 196
duke@1 197 /**
bpatel@766 198 * Get the member summary tree.
bpatel@766 199 *
bpatel@766 200 * @param memberTree the content tree used to build the summary tree
bpatel@766 201 * @return a content tree for the member summary
duke@1 202 */
bpatel@766 203 public Content getMemberSummaryTree(Content memberTree);
bpatel@766 204
bpatel@766 205 /**
bpatel@766 206 * Get the member details tree.
bpatel@766 207 *
bpatel@766 208 * @param memberTree the content tree used to build the details tree
bpatel@766 209 * @return a content tree for the member details
bpatel@766 210 */
bpatel@766 211 public Content getMemberDetailsTree(Content memberTree);
duke@1 212 }

mercurial