1 package eu.svjatoslav.inspector.java.structure;
3 import java.util.ArrayList;
6 import eu.svjatoslav.commons.string.WildCardMatcher;
11 * This class implements filter of classes that will be included or excluded
12 * from resulting graph.
14 * Filtering is done by lists of whitelist and blacklist patterns using
17 * Filtering logic is such that if at least single whitelist entry is
18 * defined then every class that is not whitelisted is automatically
19 * excluded from graph.
21 * Otherwise every class in included in graph that is not blacklisted.
24 private final List<String> blacklistClassPatterns = new ArrayList<String>();
26 private final List<String> whitelistClassPatterns = new ArrayList<String>();
28 public void blacklistClassPattern(final String pattern) {
29 blacklistClassPatterns.add(pattern);
32 public boolean isClassShown(final String className) {
33 for (final String pattern : blacklistClassPatterns)
34 if (WildCardMatcher.match(className, pattern))
37 if (!whitelistClassPatterns.isEmpty()) {
38 for (final String pattern : whitelistClassPatterns)
39 if (WildCardMatcher.match(className, pattern))
47 public void whitelistClassPattern(final String pattern) {
48 whitelistClassPatterns.add(pattern);