reduced fields and methods visibility
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / structure / Filter.java
old mode 100644 (file)
new mode 100755 (executable)
index 72590f3..0519c36
@@ -1,3 +1,12 @@
+/*
+ * JavaInspect - Utility to visualize java software
+ * Copyright (C) 2013-2015, 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<String> blacklistedClasses = new ArrayList<String>();
+       /**
+        * 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<String> blacklistClassPatterns = new ArrayList<String>();
 
-       private static final List<String> whitelistedClasses = new ArrayList<String>();
+       private final List<String> whitelistClassPatterns = new ArrayList<String>();
 
        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);
        }
 
 }