X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.html;h=9f15392f3c6e3fc491eed8058a688cbb341a3719;hb=398b77318e2d84934ef5e2fa853b322df0146707;hp=ea10bb8cf47d3aafbe5766b08ee04ded29401e60;hpb=c508bf97e017675b49df989b7f5a64cbd31d9aa3;p=javainspect.git diff --git a/doc/index.html b/doc/index.html index ea10bb8..9f15392 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,163 +1,202 @@ - - - + + JavaInspect - Utility to visualize java software - - - - + + + + + + + +" + - -
-

JavaInspect - Utility to visualize java software

-
-

Table of Contents

- -
-
+
+

JavaInspect - Utility to visualize java software

+
  • download latest snapshot
  • @@ -226,7 +265,7 @@ bitmap graph in PNG format. By default on your Desktop directory.

    -Note: GraphViz is developed and tested so far only on GNU Linux. +Note: GraphViz is developed and tested so far only on GNU/Linux.

@@ -238,23 +277,23 @@ Note: GraphViz is developed and tested so far only on GNU Linux.
  • A very simple example: -
    -

    example.resized.png +

    +

    example.resized.png

    -
    +

    Graph legend:

    -
    -

    legend.png +

    +

    legend.png

    -
    +
  • -
  • Example visualization of Sixth project: architecture graphs. +
  • Example visualization of Sixth 3D project: architecture graphs.
  • @@ -314,11 +353,11 @@ files. (Default is user desktop directory)
    -

    3.1 example 1

    +

    3.1 example 1: individually picked objects

    This example demonstrates generating of class graph from hand picked -classes. +classes and visualizing GraphViz itself.

    @@ -326,22 +365,31 @@ 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 random object to the graph. GraphViz will detect Class from
    +// the object.
    +graph.add(graph);
     
    -// Add some object to the graph.
    -graph.addObject(graph);
    +// Also add some random class to the graph.
    +graph.add(Utils.class);
     
    -// Add some class to the graph.
    -graph.addClass(Utils.class);
    +// Keep intermediary GraphViz DOT file for reference.
    +graph.setKeepDotFile(true);
     
     // Produce bitmap image titled "JavaInspect.png" to the user Desktop
    -// directory and keep intermediary GraphViz DOT file for reference.
    -graph.generateGraph("JavaInspect", true);
    +// directory
    +graph.generateGraph("JavaInspect");
     
    +

    +Note: if desired, more compact version of the above: +

    +
    + +
    new ClassGraph().add(randomObject, RandomClass.class)
    +                .setKeepDotFile(true).generateGraph("JavaInspect");
    +
    +

    @@ -357,20 +405,19 @@ Result:

    -

    3.2 example 2

    +

    3.2 example 2: scan java code, apply filters

    -

    -Recursively scan current directory for Java source code and attempt to -detect class names from there to be added to the graph. -

    -
    -
    graph.addProject(".");
    +
    // Create graph
    +final ClassGraph graph = new ClassGraph();
    +
    +// 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.*");
    +graph.blacklistClassPattern("eu.svjatoslav.inspector.java.structure.example.*");
     
     // do not show single classes with no relationships on the graph
     graph.hideOrphanedClasses();
    @@ -389,6 +436,18 @@ Result:
     
     
    + +
    +

    3.3 example 3: GraphViz embedded in another project

    +
    +
      +
    1. Download project Sixth code snapshot. +
    2. +
    3. Inspect and run *DataGraph.java*. +
    4. +
    +
    +
    @@ -404,7 +463,7 @@ Declare JavaInspect as dependency: <dependency> <groupId>eu.svjatoslav</groupId> <artifactId>javainspect</artifactId> - <version>1.3</version> + <version>1.5</version> </dependency> ... </dependencies> @@ -441,23 +500,20 @@ Add Maven repository to retrieve artifact from:

    On Ubuntu/Debian use:

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

    6 TODO

    +

    6 TO DO

      -
    • BUG: 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. -
    • -
    • BUG: Current code is quite messy (because of lack of time) things -were implemented ad-hoc. Needs cleanup/refactoring for better -readability. +
    • BUG: 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.
    • FEATURE: add dark theme
    • @@ -485,12 +541,30 @@ project build/release process
    +
    +
    +