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 -

JavaInspect - Utility to visualize java software

- Download -    - Online - homepage    - Other applications - hosted on svjatoslav.eu -
+        

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.*");
 
-	

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");
+
+
+
+Result:
+    Generated PNG image: JavaInspect full project.png
+
+
+ + + +

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.