JavaInspect - Utility to visualize java software
Download
Online
homepage
Other applications
hosted on svjatoslav.eu
Program author:
Svjatoslav Agejenko
Homepage: http://svjatoslav.eu
Email: svjatoslav@svjatoslav.eu
This software is distributed under GNU GENERAL PUBLIC LICENSE Version 2.
General
JavaInspect is a Java library that you can embed into your Java project
with a few lines of Maven configuration and then visualize any part of
your Java program structure with few simple JavaInspect API calls at
application runtime.
JavaInspect uses Java reflection to discover class relations and
structure and produces GraphViz dot file that describes your
application. Then launches GraphViz to generate bitmap graph in PNG
format on your Desktop directory.
Current status
This is simple utility, quickly written. Tested on Linux (can be
relatively simply ported to other operating systems too). So far I used
it for my own needs. There might be bugs and missing features. Feedback
and code contributions are welcome.
Example graphs
Example visualization of
Sixth
project:
architecture
graphs
A very simple example:
Graph legend:
Usage example
Following example produces graph for JavaInspect itself:
// Create graph
final Graph graph = new Graph();
// Add some object to the graph.
graph.addObject(graph);
// Add some class to the graph.
graph.addClass(Utils.class);
// Produce bitmap image titled "JavaInspect.png" to the user Desktop
// directory.
graph.generateGraph("JavaInspect", true);
Result:
Generated DOT file: JavaInspect.dot
Generated PNG image: JavaInspect.png
Embedding JavaInspect in your project
Declare JavaInspect as dependency:
<dependencies>
...
<dependency>
<groupId>eu.svjatoslav</groupId>
<artifactId>javainspect</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
Add Maven repository to retrieve artifact from:
<repositories>
<repository>
<id>svjatoslav.eu</id>
<name>Svjatoslav repository</name>
<url>http://www2.svjatoslav.eu/maven/</url>
</repository>
</repositories>
Requirements
GraphViz - shall be installed on
the computer.