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<String, ClassDescriptor> nameToClassMap = new HashMap<String, ClassDescriptor>();
+ public Filter filter = new Filter();
+
public 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);
}
return resultStr;
}
+ public void hideClassesWithoutReferences() {
+
+ for (final ClassDescriptor classDescriptor : nameToClassMap.values())
+ classDescriptor.hideClassIfNoReferences();
+
+ }
+
}