UmlGraphDoc is a standard doclet wrapper that combines the standard doclet output (javadoc documentation) along with auto-generated class diagrams for both packages and classes.

The UmlGraphDoc process is driven by all the parameters that can be specified for UMLGraph and the standard doclet; each will be passed to the appropriate doclet.

Diagram generation is based on the idea of context:

- for packages, the diagram contains all of the classes in the package itself
- for classes, the set of classes somehow related to the current class

The actual content of the diagrams depends on the kind of relations declared on the class files (with the UMLGraph javadoc annotations) and/or on the kind of automated inference that UMLGraph is allowed to use.

UMLGraph javadocs are now generated with UmlGraphDoc with the following ant target:

When generating documentation with UmlGraphDoc you will encounter at some point the "fur ball" effect: some central classes that have very complex context diagrams. To reduce this, you can avoid dependency inference altogheter, or reduce the number of inferred dependencies by using the -inferdepvis options.

If you find that this is not enough and have suggestions on how to improve the situation further, we are eager to listen.