X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.html;h=775b6473abe684dd7810f2db796344b72d18c597;hb=5a361e93b321fffd98e6688ee231b3b3aeb8e5c8;hp=f6c58d623d6c6ce4332146dd752ec7ef9551df73;hpb=bdd5b19273b604c37c39c0158ae6700a770b73f4;p=javainspect.git diff --git a/doc/index.html b/doc/index.html index f6c58d6..775b647 100644 --- a/doc/index.html +++ b/doc/index.html @@ -5,86 +5,95 @@
+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. +This software is distributed under GNU LESSER GENERAL PUBLIC LICENSE version 3 or later.-General
+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. + Goal: simplify/speed up understanding the computer program code by + automatically visualizing its structure. -
-
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. +
+ 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. +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 +Example graphs
-
-
A very simple example: -
- + Example visualization of + Sixth + project: + architecture + graphs -
Graph legend: -
- +
+
A very simple example: +
+ +
Graph legend: +
+ -Usage example
- Following example produces graph for JavaInspect itself: - -+Usage example 1
++-// Create graph -final ClassGraph graph = new ClassGraph(); + /* + * This example demonstrates generating of class graph from hand picked + * classes. + */ + + // Create graph + final ClassGraph graph = new ClassGraph(); + + // While classes and objects can be immediately passed to ClassGraph + // constructor as arguments, it is also possible to add then one by one + // as in the following example. -// Add some object to the graph. -graph.addObject(graph); + // Add some object to the graph. + graph.addObject(graph); -// Add some class to the graph. -graph.addClass(Utils.class); + // 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); + // Produce bitmap image titled "JavaInspect.png" to the user Desktop + // directory and keep intermediary GraphViz DOT file for reference. + graph.generateGraph("JavaInspect", true);
@@ -95,9 +104,36 @@ Result:Usage example 2
+ +++ + + ++ // Recursively scan current directory for Java source code and attempt + // to detect class names from there to be added to the graph. + graph.addProject("."); + + // Blacklist example classes from being shown on the graph + graph.getFilter().blacklistClassPattern( + "eu.svjatoslav.inspector.java.structure.example.*"); -
+ + +Result: + Generated PNG image: JavaInspect full project.png + +Embedding JavaInspect in your project
-+ // do not show single classes with no relationships on the graph + graph.hideOrphanedClasses(); + + // Produce bitmap image titled "JavaInspect full project.png" to the + // user Desktop directory. + graph.generateGraph("JavaInspect full project"); +Embedding JavaInspect in your project
+Declare JavaInspect as dependency: @@ -108,15 +144,15 @@ Declare JavaInspect as dependency: <dependency> <groupId>eu.svjatoslav</groupId> <artifactId>javainspect</artifactId> - <version>1.0</version> + <version>1.3</version> </dependency> - + </dependencies> - - - + + + Add Maven repository to retrieve artifact from: - + <repositories> <repository> <id>svjatoslav.eu</id> @@ -129,11 +165,11 @@ Add Maven repository to retrieve artifact from: -Requirements
+Requirements
-
- GraphViz - shall be installed on - the computer. +
+ GraphViz - shall be installed on + the computer.