Application to generate Java class hierarchy diagram

Dave Jarvis picture Dave Jarvis · Jul 23, 2009 · Viewed 20.4k times · Source

Looking for a tool that:

  • Produces a visually pleasing (not garish), orthogonally structured graph hierarchy
  • Outputs high-quality PNG images (300dpi+)
  • Visually differentiates classes, abstract classes, interfaces, and enumerated types (preferably by colour)
  • Interactive user interface
  • Allows pruning of packages and/or individual classes from the diagram
  • Seeds (e.g., File » Open) using a set of:
    • Directories
    • JAR files
    • Individual source files
    • Individual compiled classes
  • Performs a fully automatic analysis of class dependencies
  • Searches classpath to resolve as many unmet dependencies as possible
  • Uses a single executable
  • Is lightweight (~5MB) and fast (loads in under one second on an average 1.5GHz machine)
  • Is simple (under 10 clicks to generate a graph)
  • Is quick (graph 100 objects in a few seconds)
  • Is easy to use (minimal interface, focused on graph generation)
  • Is OSS or GPL
  • (Optional) Generates a call-graph hierarchy

Tools that will not accomplish this task include:

  • Doxygen + GraphViz (or dot)
  • Eclipse
  • UML modellers
  • Structural Analysis for Java (cannot parse source files)
  • JUDE Community (awkard interface, unsuitable autogeneration)
  • Integrated development environments (too complex, and use too much memory)

Any ideas?

Answer

Jonatan Kaźmierczak picture Jonatan Kaźmierczak · Jan 5, 2012

It seems that Class Visualizer meets all your requirements (except of saving diagram as PNG).