Code cleanup.
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 26 Dec 2017 02:13:45 +0000 (04:13 +0200)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 26 Dec 2017 02:13:45 +0000 (04:13 +0200)
21 files changed:
src/main/java/eu/svjatoslav/inspector/java/CommandlineConfiguration.java
src/main/java/eu/svjatoslav/inspector/java/Main.java
src/main/java/eu/svjatoslav/inspector/java/RenderJavaInspect.java
src/main/java/eu/svjatoslav/inspector/java/methods/Annotation.java
src/main/java/eu/svjatoslav/inspector/java/methods/ClassReference.java
src/main/java/eu/svjatoslav/inspector/java/methods/Clazz.java
src/main/java/eu/svjatoslav/inspector/java/methods/EnumerationBuffer.java
src/main/java/eu/svjatoslav/inspector/java/methods/Import.java
src/main/java/eu/svjatoslav/inspector/java/methods/JavaFile.java
src/main/java/eu/svjatoslav/inspector/java/methods/Modifiers.java
src/main/java/eu/svjatoslav/inspector/java/methods/Package.java
src/main/java/eu/svjatoslav/inspector/java/methods/Project.java
src/main/java/eu/svjatoslav/inspector/java/methods/ProjectScanner.java
src/main/java/eu/svjatoslav/inspector/java/methods/package-info.java
src/main/java/eu/svjatoslav/inspector/java/structure/ClassDescriptor.java
src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java
src/main/java/eu/svjatoslav/inspector/java/structure/FieldDescriptor.java
src/main/java/eu/svjatoslav/inspector/java/structure/MethodDescriptor.java
src/main/java/eu/svjatoslav/inspector/java/structure/TargetImageType.java
src/main/java/eu/svjatoslav/inspector/java/structure/Utils.java
src/main/java/eu/svjatoslav/inspector/java/structure/package-info.java

index bbb57b2..cb9e4fc 100644 (file)
@@ -12,16 +12,15 @@ public class CommandlineConfiguration {
     public StringParameter graphName;
     private NullParameter showDebug;
 
-    public CommandlineConfiguration (String args[]){
+    public CommandlineConfiguration(String args[]) {
         Parser parser = buildCommandlineParameterParser();
         if (!parser.parse(args)) {
             parser.showHelp();
-            return;
         }
 
     }
 
-    public boolean isDebug(){
+    public boolean isDebug() {
         return showDebug.isSpecified();
     }
 
index 58963ff..4f6bfbf 100644 (file)
@@ -74,7 +74,7 @@ public class Main {
     public static List<String> getClassNamesFromJar(File jarFile) throws IOException {
         List<String> result = new ArrayList<>();
         try (
-                JarInputStream jarInputStream = new JarInputStream(new FileInputStream(jarFile));
+                JarInputStream jarInputStream = new JarInputStream(new FileInputStream(jarFile))
         ) {
             while (true) {
                 JarEntry jarEntry = jarInputStream.getNextJarEntry();
index a616a63..6776e0a 100755 (executable)
@@ -12,8 +12,6 @@ package eu.svjatoslav.inspector.java;
 import eu.svjatoslav.inspector.java.structure.ClassGraph;
 import eu.svjatoslav.inspector.java.structure.Utils;
 
-import java.io.FileNotFoundException;
-
 public class RenderJavaInspect {
 
     private static void fullProjectExample() {
@@ -35,8 +33,8 @@ public class RenderJavaInspect {
     private static void handpickClassesExample() {
         /*
          * This example demonstrates generating of class graph from hand picked
-                * classes and visualizing GraphViz itself.
-                */
+         * classes and visualizing GraphViz itself.
+         */
 
         // Create graph
         final ClassGraph graph = new ClassGraph();
@@ -56,7 +54,7 @@ public class RenderJavaInspect {
         graph.generateGraph("JavaInspect");
     }
 
-    public static void main(final String[] args) throws FileNotFoundException {
+    public static void main(final String[] args) {
 
         handpickClassesExample();
 
index 94b320c..da1653e 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
index bac017d..e006296 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -17,10 +17,9 @@ import java.util.List;
 
 public class ClassReference {
 
+    final List<ClassReference> typeParameters = new ArrayList<>();
     public String name;
 
-    List<ClassReference> typeParameters = new ArrayList<ClassReference>();
-
     public ClassReference(final Tokenizer tokenizer)
             throws InvalidSyntaxException {
         name = tokenizer.getNextToken().token;
index 49f3d5e..93aee08 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -18,12 +18,11 @@ import java.util.List;
 
 public class Clazz {
 
+    public final List<ClassReference> implementedInterfaces = new ArrayList<>();
     private final String packageName;
     private final String className;
     private final boolean isInterface;
-
     public ClassReference superClass;
-    public List<ClassReference> implementedInterfaces = new ArrayList<ClassReference>();
 
     public Clazz(final String packageName, final String className,
                  final Tokenizer tokenizer, final boolean isInterface)
index cc2691e..864a339 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
index 9c8b8c3..87b5abc 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
index 9ec86c3..c1404c8 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -23,10 +23,10 @@ import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrat
 public class JavaFile {
 
     public static final String UTF_8 = "UTF-8";
-    private final List<Import> imports = new ArrayList<Import>();
+    public final List<Clazz> classes = new ArrayList<>();
+    final StringBuffer contents = new StringBuffer();
+    private final List<Import> imports = new ArrayList<>();
     private final File file;
-    public List<Clazz> classes = new ArrayList<Clazz>();
-    StringBuffer contents = new StringBuffer();
     private String packageName;
 
     public JavaFile(final File file) throws IOException, InvalidSyntaxException {
@@ -42,7 +42,7 @@ public class JavaFile {
         final Tokenizer tokenizer = new Tokenizer(contents.toString());
 
         // empty space
-        tokenizer.addTerminator(" ",  DROP);
+        tokenizer.addTerminator(" ", DROP);
         tokenizer.addTerminator("\t", DROP);
         tokenizer.addTerminator("\n", DROP);
 
index 65626ef..f68a810 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -49,7 +49,7 @@ public class Modifiers {
 
     @Override
     public String toString() {
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         result.append(access.name);
 
index 5412a8d..2844a56 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -14,6 +14,6 @@ import java.util.Map;
 
 public class Package {
 
-    Map<String, Clazz> classes = new HashMap<String, Clazz>();
+    Map<String, Clazz> classes = new HashMap<>();
 
 }
index 66c4e72..157388e 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -14,6 +14,6 @@ import java.util.Map;
 
 public class Project {
 
-    Map<String, Package> packages = new HashMap<String, Package>();
+    Map<String, Package> packages = new HashMap<>();
 
 }
index cf776c4..b90c0e0 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -21,9 +21,9 @@ import java.util.Map;
 
 public class ProjectScanner {
 
+    public final List<JavaFile> javaFiles = new ArrayList<>();
     private final File scanPath;
-    public List<JavaFile> javaFiles = new ArrayList<JavaFile>();
-    Map<File, Project> projects = new HashMap<File, Project>();
+    Map<File, Project> projects = new HashMap<>();
 
     public ProjectScanner(final File projectPath) {
         scanPath = projectPath;
@@ -31,11 +31,10 @@ public class ProjectScanner {
     }
 
     public List<Clazz> getAllClasses() {
-        final List<Clazz> result = new ArrayList<Clazz>();
+        final List<Clazz> result = new ArrayList<>();
 
         for (final JavaFile file : javaFiles)
-            for (final Clazz clazz : file.classes)
-                result.add(clazz);
+            result.addAll(file.classes);
 
         return result;
     }
index 35ee51d..d94ef50 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
index 5bfeb25..b38794d 100755 (executable)
@@ -19,13 +19,13 @@ import java.util.*;
 public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor> {
 
     private static final int MAX_REFERECNES_COUNT = 10;
+    final List<ClassDescriptor> interfaces = new ArrayList<>();
     private final Map<String, FieldDescriptor> nameToFieldMap = new TreeMap<>();
-    private final SortedSet<MethodDescriptor> methods = new TreeSet<MethodDescriptor>();
+    private final SortedSet<MethodDescriptor> methods = new TreeSet<>();
     private final ClassGraph classGraph;
     boolean isEnum;
     boolean isInterface;
     boolean isArray;
-    List<ClassDescriptor> interfaces = new ArrayList<ClassDescriptor>();
     ClassDescriptor superClass;
     private String fullyQualifiedName;
     /**
@@ -52,7 +52,7 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
         this.classGraph = classGraph;
     }
 
-    protected void analyzeClass(final Class<? extends Object> clazz) {
+    protected void analyzeClass(final Class<?> clazz) {
 
         fullyQualifiedName = clazz.getName();
 
@@ -76,7 +76,7 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
         try {
             indexFields(clazz.getDeclaredFields());
             indexFields(clazz.getFields());
-        } catch (NoClassDefFoundError error){
+        } catch (NoClassDefFoundError error) {
             // TODO: better logging of this error
             System.out.println(error.toString());
         }
@@ -320,7 +320,8 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
 
     @Override
     public String getGraphId() {
-        final String result = "class_"
+
+        return "class_"
                 + fullyQualifiedName
                 .replace('.', '_')
                 .replace(";", "")
@@ -329,8 +330,6 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
                 .replace("[[L", "") // array of arrays
                 .replace("[[[L", "") // array of arrays of arrays
                 .replace('$', '_');
-
-        return result;
     }
 
     private String getInterfaceColor() {
@@ -439,7 +438,6 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
             return;
         }
 
-        return;
     }
 
     private void indexFields(final Field[] fields) {
@@ -447,7 +445,7 @@ public class ClassDescriptor implements GraphElement, Comparable<ClassDescriptor
             getOrCreateFieldDescriptor(field);
     }
 
-    private void indexMethods(final Class<? extends Object> clazz) {
+    private void indexMethods(final Class<?> clazz) {
         for (final Method method : clazz.getMethods()) {
             final MethodDescriptor methodDescriptor = new MethodDescriptor(
                     this, method.getName());
index 51fa04a..1747614 100755 (executable)
@@ -30,19 +30,16 @@ public class ClassGraph {
     /**
      * Maps class fully qualified names to class descriptors.
      */
-    private final Map<String, ClassDescriptor> fullyQualifiedNameToClassMap = new HashMap<String, ClassDescriptor>();
+    private final Map<String, ClassDescriptor> fullyQualifiedNameToClassMap = new HashMap<>();
 
-    private final List<String> blacklistClassGlobs = new ArrayList<String>();
+    private final List<String> blacklistClassGlobs = new ArrayList<>();
 
     private final List<String> whitelistClassGlobs = new ArrayList<>();
-
+    TargetImageType targetImageType = TargetImageType.SVG;
     private String targetDirectoryPath = CommonPathResolver.getDesktopDirectory()
             .getAbsolutePath() + separator;
-
     private boolean keepDotFile;
 
-    TargetImageType targetImageType = TargetImageType.SVG;
-
     public ClassGraph() {
     }
 
@@ -75,7 +72,7 @@ public class ClassGraph {
         for (final Clazz clazz : projectScanner.getAllClasses())
             try {
                 System.out.println("Class full name: " + clazz.getFullName());
-                final Class c = this.getClass().forName(clazz.getFullName());
+                final Class c = Class.forName(clazz.getFullName());
                 addObject(c);
             } catch (final Exception exception) {
                 System.out.println("cannot add class: "
@@ -128,7 +125,7 @@ public class ClassGraph {
     }
 
     private String getDot() {
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         result.append("digraph Java {\n");
         result.append("graph [rankdir=LR, overlap = false, concentrate=true];\n");
@@ -139,8 +136,7 @@ public class ClassGraph {
 
         result.append("}\n");
 
-        final String resultStr = result.toString();
-        return resultStr;
+        return result.toString();
     }
 
     /**
index 11959da..36532e2 100755 (executable)
@@ -22,7 +22,7 @@ import java.util.List;
 public class FieldDescriptor implements GraphElement {
 
     private final ClassDescriptor parentClassDescriptor;
-    private final List<ClassDescriptor> typeArguments = new ArrayList<ClassDescriptor>();
+    private final List<ClassDescriptor> typeArguments = new ArrayList<>();
     private String name;
     private ClassDescriptor type;
     private boolean isInherited;
@@ -63,7 +63,7 @@ public class FieldDescriptor implements GraphElement {
         if (!isVisible())
             return "";
 
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         // describe associated types
         for (final ClassDescriptor classDescriptor : typeArguments)
@@ -101,7 +101,7 @@ public class FieldDescriptor implements GraphElement {
         if (!isVisible())
             return "";
 
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         result.append("        // " + name + "\n");
         if (parentClassDescriptor.isEnum && (type == parentClassDescriptor)) {
index 3f7acef..72ce997 100755 (executable)
@@ -23,7 +23,7 @@ public class MethodDescriptor implements GraphElement,
 
     private final String methodName;
     private final ClassDescriptor parentClass;
-    private final List<ClassDescriptor> argumentTypes = new ArrayList<ClassDescriptor>();
+    private final List<ClassDescriptor> argumentTypes = new ArrayList<>();
     private ClassDescriptor returnType;
     private boolean isInherited;
 
@@ -86,7 +86,7 @@ public class MethodDescriptor implements GraphElement,
         if (!isVisible())
             return "";
 
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         // describe associated types
         for (final ClassDescriptor classDescriptor : argumentTypes)
@@ -116,7 +116,7 @@ public class MethodDescriptor implements GraphElement,
         if (!isVisible())
             return "";
 
-        final StringBuffer result = new StringBuffer();
+        final StringBuilder result = new StringBuilder();
 
         result.append("        // " + methodName + "\n");
 
index 637724a..c1baf93 100644 (file)
@@ -6,7 +6,7 @@ public enum TargetImageType {
 
     public final String fileExtension;
 
-    TargetImageType(String fileExtension){
+    TargetImageType(String fileExtension) {
         this.fileExtension = fileExtension;
     }
 }
index 435a3eb..c4caca8 100755 (executable)
@@ -14,12 +14,12 @@ import java.util.List;
 
 public class Utils {
 
-    private static final List<String> systemDataTypes = new ArrayList<String>();
-    private static final List<String> commonObjectMethods = new ArrayList<String>();
-    private static final List<String> systemPackages = new ArrayList<String>();
-    private static final List<String> darkColors = new ArrayList<String>();
-    private static final List<String> lightColors = new ArrayList<String>();
-    private static final List<String> enumMethods = new ArrayList<String>();
+    private static final List<String> systemDataTypes = new ArrayList<>();
+    private static final List<String> commonObjectMethods = new ArrayList<>();
+    private static final List<String> systemPackages = new ArrayList<>();
+    private static final List<String> darkColors = new ArrayList<>();
+    private static final List<String> lightColors = new ArrayList<>();
+    private static final List<String> enumMethods = new ArrayList<>();
     private static int lastChosenDarkColor = -1;
     private static int lastChosenLightColor = -1;
 
index 9c71850..582c795 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * JavaInspect - Utility to visualize java software
  * Copyright (C) 2013-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.