X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FFilter.java;h=447dfc8f1bcaff9e5dc8b06a56f52f996a6c4026;hb=348b57a22fd70583c6da1de0c414d867a6345cfa;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 old mode 100644 new mode 100755 index 72590f3..447dfc8 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/Filter.java @@ -1,3 +1,12 @@ +/* + * JavaInspect - Utility to visualize java software + * Copyright (C) 2013-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 3 of the GNU Lesser General Public License + * or later as published by the Free Software Foundation. + */ + package eu.svjatoslav.inspector.java.structure; import java.util.ArrayList; @@ -7,21 +16,35 @@ import eu.svjatoslav.commons.string.WildCardMatcher; public class Filter { - private static final List blacklistedClasses = 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 static final List whitelistedClasses = 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 +54,7 @@ public class Filter { } public void whitelistClassPattern(final String pattern) { - whitelistedClasses.add(pattern); + whitelistClassPatterns.add(pattern); } }