X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FClassGraph.java;h=6155876f07e31322106a0883b141a5b478d1be58;hb=39a8ba91a8541b26180cc3c3dcb99f5ff295785d;hp=bda0882713bb0588d2f1835822fb1b9384ffaca5;hpb=d717e90f4c46e26f9f54ba5638aade6688527bf4;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java b/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java index bda0882..6155876 100644 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java @@ -16,14 +16,27 @@ import java.util.HashMap; import java.util.Map; import eu.svjatoslav.commons.file.CommonPathResolver; +import eu.svjatoslav.inspector.java.methods.Clazz; +import eu.svjatoslav.inspector.java.methods.ProjectScanner; public class ClassGraph { + public static void render(final String graphName, final Class... classes) { + final ClassGraph classGraph = new ClassGraph(); + + for (final Class clazz : classes) + classGraph.addClass(clazz); + + classGraph.generateGraph(graphName); + } + /** * Maps class fully qualified names to class descriptors. */ Map nameToClassMap = new HashMap(); + public Filter filter = new Filter(); + public ClassGraph() { } @@ -52,6 +65,19 @@ public class ClassGraph { return addClass(object.getClass()); } + public void addProject(final String path) { + final ProjectScanner projectScanner = new ProjectScanner(new File(path)); + for (final Clazz clazz : projectScanner.getAllClasses()) + try { + System.out.println("Class full name: " + clazz.getFullName()); + final Class c = this.getClass().forName(clazz.getFullName()); + addClass(c); + } catch (final Exception exception) { + System.out.println("cannot add class: " + + exception.getMessage()); + } + } + public void generateGraph(final String graphName) { generateGraph(graphName, false); } @@ -107,4 +133,11 @@ public class ClassGraph { return resultStr; } + public void hideClassesWithoutReferences() { + + for (final ClassDescriptor classDescriptor : nameToClassMap.values()) + classDescriptor.hideClassIfNoReferences(); + + } + }