X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FClassGraph.java;h=cee1ee41f125069db0c48f597313f903d7043a41;hb=ffba53aac03e4d107545116ddcfff0c965bd5970;hp=27eff0338b7637cd548936e708872c28c14d3224;hpb=94b2a818903a8ec1579dce828b47076c53f435ab;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 27eff03..cee1ee4 100755 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java @@ -12,10 +12,13 @@ package eu.svjatoslav.inspector.java.structure; import java.io.File; import java.io.IOException; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import eu.svjatoslav.commons.file.CommonPathResolver; +import eu.svjatoslav.commons.string.WildCardMatcher; import eu.svjatoslav.inspector.java.methods.Clazz; import eu.svjatoslav.inspector.java.methods.ProjectScanner; @@ -26,7 +29,9 @@ public class ClassGraph { */ private final Map fullyQualifiedNameToClassMap = new HashMap(); - private final Filter filter = new Filter(); + private final List blacklistClassPatterns = new ArrayList(); + + private final List whitelistClassPatterns = new ArrayList(); public ClassGraph() { } @@ -69,6 +74,10 @@ public class ClassGraph { } } + public void blacklistClassPattern(final String pattern) { + blacklistClassPatterns.add(pattern); + } + /** * @param resultFileName * file name for the generated graph. Existing file with the same @@ -132,8 +141,8 @@ public class ClassGraph { // execute GraphViz to visualize graph try { Runtime.getRuntime() - .exec(new String[] { "dot", "-Tpng", dotFilePath, "-o", - imageFilePath }).waitFor(); + .exec(new String[] { "dot", "-Tpng", dotFilePath, "-o", + imageFilePath }).waitFor(); } catch (final InterruptedException e) { } finally { } @@ -165,10 +174,6 @@ public class ClassGraph { return resultStr; } - public Filter getFilter() { - return filter; - } - /** * @param clazz * class that shall be added to graph @@ -205,4 +210,23 @@ public class ClassGraph { } + public boolean isClassShown(final String className) { + for (final String pattern : blacklistClassPatterns) + if (WildCardMatcher.match(className, pattern)) + return false; + + if (!whitelistClassPatterns.isEmpty()) { + for (final String pattern : whitelistClassPatterns) + if (WildCardMatcher.match(className, pattern)) + return true; + return false; + } + + return true; + } + + public void whitelistClassPattern(final String pattern) { + whitelistClassPatterns.add(pattern); + } + }