X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FFilter.java;h=0dba93ea2a647e382b5930a1263c3028e4f83872;hb=16ba5341215d24fdcfa07072d52cf87e5a4375ed;hp=72590f371ec78f644c1c0c17f2ab55f63f0ad2bd;hpb=d9837ba577dd0c6d56c83326383f450e35764c90;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java b/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java index 72590f3..0dba93e 100644 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java @@ -7,21 +7,35 @@ import eu.svjatoslav.commons.string.WildCardMatcher; public class Filter { - private static final List blacklistedClasses = new ArrayList(); - - private static final List whitelistedClasses = new ArrayList(); + /** + * This class implements filter of classes that will be included or excluded + * from resulting graph. + * + * Filtering is done by lists of whitelist and blacklist patterns using + * wildcards. + * + * Filtering logic is such that if at least single whitelist entry is + * defined then every class that is not whitelisted is automatically + * excluded from graph. + * + * Otherwise every class in included in graph that is not blacklisted. + */ + + private static final List blacklistClassPatterns = new ArrayList(); + + private static final List whitelistClassPatterns = new ArrayList(); public void blacklistClassPattern(final String pattern) { - blacklistedClasses.add(pattern); + blacklistClassPatterns.add(pattern); } public boolean isClassShown(final String className) { - for (final String pattern : blacklistedClasses) + for (final String pattern : blacklistClassPatterns) if (WildCardMatcher.match(className, pattern)) return false; - if (!whitelistedClasses.isEmpty()) { - for (final String pattern : whitelistedClasses) + if (!whitelistClassPatterns.isEmpty()) { + for (final String pattern : whitelistClassPatterns) if (WildCardMatcher.match(className, pattern)) return true; return false; @@ -31,7 +45,7 @@ public class Filter { } public void whitelistClassPattern(final String pattern) { - whitelistedClasses.add(pattern); + whitelistClassPatterns.add(pattern); } }