X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FFilter.java;h=94e6d2c72a7b59a0a31bb203f801c501263bbb02;hb=8285a2e198a01177b14e528f8e12de2f7d5273e9;hp=72590f371ec78f644c1c0c17f2ab55f63f0ad2bd;hpb=79db54fde2069b536c95e9da810efb27f2e4efb5;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..94e6d2c 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 final List blacklistClassPatterns = new ArrayList(); + + private 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); } }