_Automatically Generating Java Documentation_ by Gary Aitken Figure 1: (a) /** * Summary Line * Zero or more lines of detail text; may include HTML and multiple paragraphs * @xxx zero or more tag lines, as appropriate */ (b) /** Summary line Zero or more lines of detail text; may include HTML and multiple paragraphs @xxx zero or more tag lines, as appropriate */ Figure 3: java\JDK_1_0\api\AllPkgs.PkgA.C1.html AllPkgs.PkgA.C1 doc java\JDK_1_0\api\AllPkgs.PkgB.C2.html AllPkgs.PkgB.C2 doc java\JDK_1_0\api\AllPkgs.PkgB.C3.html AllPkgs.PkgB.C3 doc java\JDK_1_0\api\AllNames.html Index of all classes, methods, and variables java\JDK_1_0\api\tree.html Class hierarchy java\JDK_1_0\api\packages.html Index to all packages java\JDK_1_0\api\Package-AllPkgs.PkgA.html Index to individual class doc in PkgA java\JDK_1_0\api\Package-AllPkgs.PkgB.html Index to individual class doc in PkgB Figure 4: /** * Locate a complete user description by user name. * @return Complete description of a user. * @param last Last name, arbitrary text * @param first First name, arbitrary text * @param middle Middle name(s), arbitrary text * @exception NoUserException User is not in the database */ public User findUser( String last, String first, String middle ) throws NoUserException { code to implement method } Figure 5: /** * @method attempts to locate a user in the global user database. */ public User /** Complete description of a user. */ findUser( /** Locate a complete user description by user name */ String last, /** Last name, arbitrary text */ String first, /** First name, arbitrary text */ String middle) /** Middle name(s), arbitrary text */ throws NoUserException /** User is not in the database */ { code to implement method }