/* * @(#)PackageFrameWriter.java 1.10 98/04/28 * * Copyright 1998 by 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. */ package com.sun.tools.doclets.standard; import com.sun.tools.doclets.*; import com.sun.javadoc.*; 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 */ public class PackageFrameWriter extends AbstractPackageWriter { /** * Constructor. */ public PackageFrameWriter(String path, String filename, PackageDoc packagedoc) throws IOException, DocletAbortException { super(path, filename, packagedoc); } /** * Generate a package page. * * @param package the package to generate. */ public static void generate(PackageDoc pkg) throws DocletAbortException { PackageFrameWriter packgen; String path = DirectoryManager.getDirectoryPath(pkg); String filename = "package-frame" + ".html"; try { packgen = new PackageFrameWriter(path, filename, pkg); packgen.generatePackageFile(); packgen.close(); } catch (IOException exc) { Standard.configuration().standardmessage. error("doclet.exception_encountered", exc.toString(), filename); throw new DocletAbortException(); } } /** * Generate class listing for all the classes in this package. */ protected void generateClassListing() { generateClassKindListing(packagedoc.interfaces(), getText("doclet.Interfaces")); generateClassKindListing(packagedoc.ordinaryClasses(), getText("doclet.Classes")); generateClassKindListing(packagedoc.exceptions(), getText("doclet.Exceptions")); generateClassKindListing(packagedoc.errors(), getText("doclet.Errors")); } /** * This method is used by genIndPackageFiles method to generate * the Class/Interface... Listing. */ protected void generateClassKindListing(ClassDoc[] arr, String label) { if(arr.length > 0) { Arrays.sort(arr); printPackageTableHeader(); fontSizeClass("+1", "FrameHeadingFont"); print(label); fontEnd(); println(" "); fontClass("FrameItemFont"); for (int i = 0; i < arr.length; i++) { br(); printTargetClassLink(arr[i], "classFrame"); } fontEnd(); printPackageTableFooter(); println(); } } protected void printPackageHeader(String heading) { fontSizeClass("+1", "FrameTitleFont"); print(heading); fontEnd(); } protected void printPackageTableHeader() { table(); tr(); tdNowrap(); } protected void printPackageTableFooter() { tdEnd(); trEnd(); tableEnd(); } protected void printPackageFooter() { } protected void printPackageDescription() throws IOException { } }