

dydoc is a toolkit for generating API documentation from compiled Java classes.
Here is an example dydoc for java.lang.String and another one for org.apache.lucene.index.IndexWriter.
A dydoc of the entire J2SDK is available for download.
Source code available.
dydoc broadly follows the formatting of the NEXTSTEP documentation.
“I really like that! Might even start using it. Very Objective-Cish.Here’s some feedback on what I think’s so great about it:
– The pages are clean and clutter free, with good use of whitespace.
– Well laid out – easy to find stuff.
– Simple breadcrumb style navigation.
– The dropdown navigation is intuitive but not intrusive.
– Frame free, easy to link to.
– It separates class and instance members.
– It uses QDox !”
* * *
In its simplest form, dydoc can be invoked with just one parameter:
java -jar dydoc file:///Path/To/jar.jar
The parameter is an URL pointing to the jar file to be documented.
classpath
dydoc uses the runtime information provided by the JVM to generate the classes documentation. You will therefore need to set the appropriate java classpath as necessary.
configuration
dydoc uses a PL file for additional configuration parameters.
You can point dydoc to its configuration file by passing an URL parameter to it:
java -jar dydoc file:///Path/To/dydoc.plist
The configuration map supports the following key-value pairs:
"jar.dirs" = ( "file:///Path/To/jar.jar" );
jar.dirs takes a collection of URLs pointing to the jar files to be documented.
"src.dirs" = ( "file:///Path/To/Source/" );
src.dirs takes a collection of URLs pointing to the source file directories of the jar files to be documented. If a source file can be found for a given class, its javadoc comments are extracted and included in the corresponding class dydoc.
"doc.dir" = "file:///Path/To/Doc/";
doc.dir takes an URL pointing to the directory where to create the dydoc itself. If not specified, doc.dir defaults to the current directory.
"stub.dir" = "file:///Path/To/Stub/";
stub.dir takes an URL pointing to the directory where to create the dydoc stubs. If not specified, stub.dir defaults to the current directory.
"dependencies" = "true";
dependencies takes a string value of either true or false. If not specified, dependencies defaults to false. If true, all the classes dependencies are included in the dydoc.
* * *
dydoc is licensed under a OSI certified zlib/libpng type license.
Copyright (C) 2004 Raphaël Szwarc
This software is provided ‘as-is’, without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Comment [2]
* * *