/* * @(#)DeprecatedListWriter.java 1.18 98/08/18 * * Copyright 1997, 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.*; /** * Generate File to list all the deprecated classes and class members with the * appropriate links. * * @see java.util.List * @author Atul M Dambalkar */ public class DeprecatedListWriter extends SubWriterHolderWriter { /** * Constructor. * * @param filename the file to be generated. */ public DeprecatedListWriter(String filename) throws IOException { super(filename); } /** * Get list of all the deprecated classes and members in all the Packages * specified on the Command Line. * Then instantiate DeprecatedListWriter and generate File. * * @param root Root of the Document */ public static void generate(RootDoc root) throws DocletAbortException { String filename = "deprecated-list.html"; try { DeprecatedListWriter depr = new DeprecatedListWriter(filename); depr.generateDeprecatedListFile(new DeprecatedAPIListBuilder(root)); depr.close(); } catch (IOException exc) { Standard.configuration().standardmessage.error("doclet.exception_encountered", exc.toString(), filename); throw new DocletAbortException(); } } /** * Print the deprecated API list. Separately print all class kinds and * member kinds. * * @param deprapi list of deprecated API built already. */ protected void generateDeprecatedListFile(DeprecatedAPIListBuilder deprapi) throws IOException { ClassSubWriter classW = new ClassSubWriter(this); FieldSubWriter fieldW = new FieldSubWriter(this); MethodSubWriter methodW = new MethodSubWriter(this); ConstructorSubWriter consW = new ConstructorSubWriter(this); printDeprecatedHeader(); classW.printDeprecatedAPI(deprapi.getDeprecatedClasses(), "doclet.Deprecated_Classes"); classW.printDeprecatedAPI(deprapi.getDeprecatedInterfaces(), "doclet.Deprecated_Interfaces"); classW.printDeprecatedAPI(deprapi.getDeprecatedExceptions(), "doclet.Deprecated_Exceptions"); classW.printDeprecatedAPI(deprapi.getDeprecatedErrors(), "doclet.Deprecated_Errors"); fieldW.printDeprecatedAPI(deprapi.getDeprecatedFields(), "doclet.Deprecated_Fields"); methodW.printDeprecatedAPI(deprapi.getDeprecatedMethods(), "doclet.Deprecated_Methods"); consW.printDeprecatedAPI(deprapi.getDeprecatedConstructors(), "doclet.Deprecated_Constructors"); printDeprecatedFooter(); } /** * Print the navigation bar and header for the deprecated API Listing. */ protected void printDeprecatedHeader() { printHeader(getText("doclet.Window_Deprecated_List", Standard.configuration().windowtitle)); navLinks(true); hr(); center(); h2(); boldText("doclet.Deprecated_API"); h2End(); centerEnd(); } /** * Print the navigation bar and the footer for the deprecated API Listing. */ protected void printDeprecatedFooter() { hr(); navLinks(false); printBottom(); printBodyHtmlEnd(); } /** * Highlight the word "Deprecated" in the navigation bar as this is the same * page. */ protected void navLinkDeprecated() { navCellRevStart(); fontStyle("NavBarFont1Rev"); boldText("doclet.navDeprecated"); fontEnd(); navCellEnd(); } }