I'm looking for a tool for rapidly visualizing structural relationships in Java code.
The hard requirements are:
- generates structural diagrams of selected classes and packages,
- the diagrams are immediately visible in a viewer,
- the diagrams don't have to adhere to the UML spec, but have to be roughly recognizable as similar to class diagrams,
- relationships such as aggregation or inheritance should be shown,
- the user can relatively easily add/filter out classes and packages shown in the diagram,
- the tool should provide reliable autolayout for elements in the diagrams (no overlapping elements - this is something that e.g. ObjectAid fails to accomplish),
- if the tool is not IDE-integrated, it should be aware of major dependency management systems (Maven, Ivy),
- it should be project-aware, and react reasonably quickly (sub-second on a good dev box, let's say) to changes in the code.
- it should be platform-independent (Linux/Windows/Mac).
- IDE integration (Eclipse and/or IntelliJ IDEA),
- autolayout works well with manual adjustments done by the developer.
Note that this is different from this question since it doesn't require on-line diagram generation, from this question since Eclipse isn't anathema, and from both of them since it doesn't have to be actually producing UML and can be paid-for.