The makefile-based multiple view example can be generated by using internal view support by means of the following sources (note the use of UmlOptions to set the common appearance options, and the views to generate multiple diagrams at different detail level).

// Author: Vadim Nasardinov // Author: Andrea Aime // Version: $Id$

import java.util.List; import java.util.Map;

/** * @assoc "1..1" - "0..n" Adapter * @assoc "" - "0..n" ObjectType * @assoc "" - "0..n" ObjectMap * @assoc "" - "0..n" Table * @assoc "" - "0..n" DataOperation **/ class Root { private Map m_adapters; private List m_types; private List m_maps; private List m_tables; private List m_ops;

public Adapter getAdapter(Class klass) {} }

class Adapter { public Root getRoot(); }

abstract class Element { Root getRoot() {} }

class ObjectType extends Element {}

/** * @has "1..1" - "1..1" ObjectType **/ class ObjectMap extends Element { private ObjectType m_type; }

class Table extends Element {}

class DataOperation extends Element {}

/** * @hidden * @opt nodefontname luxisr * @opt nodefontabstractname luxisri * @opt edgefontname luxisr * @opt nodefontsize 8 * @opt edgefontsize 8 * @opt nodefillcolor LemonChiffon */ class UMLOptions {}

/** * @view * @opt attributes * @opt operations */ class DetailedView {}

/** * @view */ class Overview {}

and by invoking the following commands (assuming UmlGraph.jar is in the current directory):

javadoc -doclet org.umlgraph.doclet.UmlGraph -private -docletpath UmlGraph.jar -views RootViews.java dot -Tpng -o root-small.png Overview.dot dot -Tpng -o root.png DetailedView.dot

The javadoc invocation asks UMLGraph to build a diagram for every view (-views) contained in the RootViews.java file. Notably, there's no class RootViews in the source file: this is not needed to make javadoc work on a single class. Respecting the java rules for file and class naming is anyway advised in any real situation.