From: Svjatoslav Agejenko Date: Mon, 2 Feb 2015 17:53:48 +0000 (+0200) Subject: generate index.html using Emacs ORG mode X-Git-Tag: javainspect-1.4~6 X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=commitdiff_plain;h=8886bb51f2caf11b8e778bacb4c8ea18ac7f1027 generate index.html using Emacs ORG mode --- diff --git a/TODO b/TODO deleted file mode 100644 index ed22173..0000000 --- a/TODO +++ /dev/null @@ -1,3 +0,0 @@ -Should not hide references if there are too many of them to classes -if referring classes are not visible anyway because of blacklist/whitelist rules. -Basically reference counting should exclude not visible classes. diff --git a/TODO.org b/TODO.org new file mode 100644 index 0000000..b595d12 --- /dev/null +++ b/TODO.org @@ -0,0 +1,4 @@ +- Should not hide references if there are too many of them to classes + if referring classes are not visible anyway because of + blacklist/whitelist rules. Basically reference counting should + exclude not visible classes. diff --git a/doc/example.resized.png b/doc/example.resized.png index 7bb5760..50e3dea 100755 Binary files a/doc/example.resized.png and b/doc/example.resized.png differ diff --git a/doc/graphviz colors/light colors/aqua.png b/doc/graphviz colors/light colors/aqua.png deleted file mode 100755 index 0f54c35..0000000 Binary files a/doc/graphviz colors/light colors/aqua.png and /dev/null differ diff --git a/doc/graphviz colors/light colors/olivedrab2.png b/doc/graphviz colors/light colors/olivedrab2.png deleted file mode 100755 index 1fd6150..0000000 Binary files a/doc/graphviz colors/light colors/olivedrab2.png and /dev/null differ diff --git a/doc/graphviz colors/light colors/orange.png b/doc/graphviz colors/light colors/orange.png deleted file mode 100755 index da3a2f1..0000000 Binary files a/doc/graphviz colors/light colors/orange.png and /dev/null differ diff --git a/doc/graphviz colors/light colors/peachpuff2.png b/doc/graphviz colors/light colors/peachpuff2.png deleted file mode 100755 index d1d16d4..0000000 Binary files a/doc/graphviz colors/light colors/peachpuff2.png and /dev/null differ diff --git a/doc/graphviz colors/light colors/seagreen1.png b/doc/graphviz colors/light colors/seagreen1.png deleted file mode 100755 index d48919f..0000000 Binary files a/doc/graphviz colors/light colors/seagreen1.png and /dev/null differ diff --git a/doc/graphviz colors/light colors/violet.png b/doc/graphviz colors/light colors/violet.png deleted file mode 100755 index 9a347f0..0000000 Binary files a/doc/graphviz colors/light colors/violet.png and /dev/null differ diff --git a/doc/index.html b/doc/index.html index 775b647..33fb1cd 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,176 +1,381 @@ - - - - -JavaInspect - - -

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 LESSER GENERAL PUBLIC LICENSE version 3 or later.
-
-
- -

General

- - Goal: simplify/speed up understanding the computer program code by - automatically visualizing its structure. - -

- 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 1

- -
-
-                /*
-                 * 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 class to the graph.
-                graph.addClass(Utils.class);
-
-                // Produce bitmap image titled "JavaInspect.png" to the user Desktop
-                // directory and keep intermediary GraphViz DOT file for reference.
-                graph.generateGraph("JavaInspect", true);
-
-
-
-Result:
-    Generated DOT file: JavaInspect.dot
-    Generated PNG image: JavaInspect.png
-
-
- - -

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.*");
-
-                // 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:
-
-    <dependencies>
-
-        ...
-
-        <dependency>
-            <groupId>eu.svjatoslav</groupId>
-            <artifactId>javainspect</artifactId>
-            <version>1.3</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. - - - - + + + + +JavaInspect - Utility to visualize java software + + + + + + + + + +
+

JavaInspect - Utility to visualize java software

+ +
+ + + +
+

1 General

+
+

+Goal: simplify/speed up understanding the computer program code by +automatically visualizing its structure. +

+ +

+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. +

+
+
+ +
+

2 Current status

+
+

+This is simple utility, quickly written. Tested on GNU 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. +

+
+
+ +
+

3 Example graphs

+
+

+Example visualization of Sixth project: architecture graphs. +

+ +

+A very simple example: +

+ + +
+

example.resized.png +

+
+ + +

+Graph legend: +

+ + +
+

legend.png +

+
+
+
+ +
+

4 Usage example 1

+
+

+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 them one by
+// one as in the following example.
+
+// 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 and keep intermediary GraphViz DOT file for reference.
+graph.generateGraph("JavaInspect", true);
+
+
+ + + +

+Result: +

+ +
+
+ +
+

5 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.*");
+
+// 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: +

+ +
+
+ +
+

6 Embedding JavaInspect in your Maven project

+
+

+Declare JavaInspect as dependency: +

+
+ +
<dependencies>
+    ...
+    <dependency>
+        <groupId>eu.svjatoslav</groupId>
+        <artifactId>javainspect</artifactId>
+        <version>1.3</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>
+
+
+
+
+ +
+

7 Requirements

+
+

+GraphViz - shall be installed on the computer. +

+ +

+On Ubuntu/Debian use: +

+
+sudo apt-get install graphviz
+
+
+
+
+
+

Author: Svjatoslav Agejenko

+

Created: 2015-02-02 Mon 19:49

+

Emacs 24.4.1 (Org mode 8.2.10)

+

Validate

+
+ + diff --git a/doc/index.org b/doc/index.org new file mode 100644 index 0000000..8ec6dcb --- /dev/null +++ b/doc/index.org @@ -0,0 +1,128 @@ +#+TITLE: JavaInspect - Utility to visualize java software + +----- + +- [[http://www2.svjatoslav.eu/gitweb/?p=javainspect.git;a=snapshot;h=HEAD;sf=tgz][download]] +- [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] +- Program author: + - Svjatoslav Agejenko + - Homepage: http://svjatoslav.eu + - Email: mailto://svjatoslav@svjatoslav.eu + +* General +Goal: simplify/speed up understanding the computer program code by +automatically visualizing its structure. + +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 GNU 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 [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/][Sixth]] project: [[http://www2.svjatoslav.eu/projects/sixth/codegraphs/][architecture graphs]]. + +A very simple example: + +[[file:example.png][file:example.resized.png]] + + +Graph legend: + +file:legend.png + +* Usage example 1 +This example demonstrates generating of class graph from hand picked +classes. + +#+BEGIN_SRC java + // 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 them one by + // one as in the following example. + + // 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 and keep intermediary GraphViz DOT file for reference. + graph.generateGraph("JavaInspect", true); +#+END_SRC + + + +Result: + - Generated DOT file: [[file:JavaInspect.dot][JavaInspect.dot]] + - Generated PNG image: [[file:JavaInspect.png][JavaInspect.png]] + +* 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. + +#+BEGIN_SRC java + graph.addProject("."); + + // Blacklist example classes from being shown on the graph + graph.getFilter().blacklistClassPattern( + "eu.svjatoslav.inspector.java.structure.example.*"); + + // 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"); +#+END_SRC +Result: + - Generated PNG image: [[file:JavaInspect%20full%20project.png][JavaInspect full project.png]] + +* Embedding JavaInspect in your Maven project + +Declare JavaInspect as dependency: +#+BEGIN_SRC xml + + ... + + eu.svjatoslav + javainspect + 1.3 + + ... + +#+END_SRC + + +Add Maven repository to retrieve artifact from: +#+BEGIN_SRC xml + + ... + + svjatoslav.eu + Svjatoslav repository + http://www2.svjatoslav.eu/maven/ + + ... + +#+END_SRC + +* Requirements + +[[http://www.graphviz.org/][GraphViz]] - shall be installed on the computer. + +On Ubuntu/Debian use: +: sudo apt-get install graphviz