/** * * * Copyright 1993-1997 Sun Microsystems, Inc. 901 San Antonio Road, * Palo Alto, California, 94303, U.S.A. All Rights Reserved. * * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * CopyrightVersion 1.2 * */ package com.sun.tools.doclets.standard; import com.sun.javadoc.*; import com.sun.tools.doclets.*; import java.io.*; import java.lang.*; import java.util.*; /** * Class to generate file for each package contents. * * @see com.sun.javadoc.PackageDoc * @see com.sun.tools.doclets.HtmlDocWriter * @author Atul M Dambalkar * @author Doug Kramer */ public class AllClassesFrameWriter extends HtmlStandardWriter { protected IndexBuilder indexbuilder; /** * Constructor. */ public AllClassesFrameWriter(String filename, IndexBuilder indexbuilder) throws IOException, DocletAbortException { super(filename); this.indexbuilder = indexbuilder; } public static void generate(IndexBuilder indexbuilder) throws DocletAbortException { AllClassesFrameWriter allclassgen; String filename = "allclasses-frame.html"; try { allclassgen = new AllClassesFrameWriter(filename, indexbuilder); allclassgen.generateAllClassesFile(); allclassgen.close(); } catch (IOException exc) { Standard.configuration().standardmessage. error("doclet.exception_encountered", exc.toString(), filename); throw new DocletAbortException(); } } protected void generateAllClassesFile() throws IOException { String label = getText("doclet.All_Classes"); printHeader(label); printAllClassesTableHeader(); printAllClasses(); printAllClassesTableFooter(); printFooter(); } protected void printAllClasses() { for (int i = 0; i < indexbuilder.elements().length; i++) { Character unicode = (Character)((indexbuilder.elements())[i]); generateContents(indexbuilder.getMemberList(unicode)); } } protected void generateContents(List classlist) { for (int i = 0; i < classlist.size(); i++) { ClassDoc cd = (ClassDoc)(classlist.get(i)); String pathstr = DirectoryManager.createPathString(cd); String link = ((pathstr.length() > 0)? pathstr + fileseparator: "") + cd.name() + ".html"; String label = italicsClassName(cd, false); printTargetHyperLink(link, "classFrame", label); br(); } } protected void printAllClassesTableHeader() { fontSizeClass("+1", "FrameHeadingFont"); boldText("doclet.All_Classes"); fontEnd(); br(); table(); tr(); tdNowrap(); fontClass("FrameItemFont"); } protected void printAllClassesTableFooter() { fontEnd(); tdEnd(); trEnd(); tableEnd(); } }