1 32 33 package com.jeantessier.dependency; 34 35 import java.util.*; 36 37 public class CollectionSelectionCriteria implements SelectionCriteria { 38 private boolean matchingPackages = true; 39 private boolean matchingClasses = true; 40 private boolean matchingFeatures = true; 41 42 Collection include; 43 Collection exclude; 44 45 public CollectionSelectionCriteria(Collection include, Collection exclude) { 46 this.include = include; 47 this.exclude = exclude; 48 } 49 50 public boolean isMatchingPackages() { 51 return matchingPackages; 52 } 53 54 public void setMatchingPackages(boolean matchingPackages) { 55 this.matchingPackages = matchingPackages; 56 } 57 58 public boolean isMatchingClasses() { 59 return matchingClasses; 60 } 61 62 public void setMatchingClasses(boolean matchingClasses) { 63 this.matchingClasses = matchingClasses; 64 } 65 66 public boolean isMatchingFeatures() { 67 return matchingFeatures; 68 } 69 70 public void setMatchingFeatures(boolean matchingFeatures) { 71 this.matchingFeatures = matchingFeatures; 72 } 73 74 public boolean matches(PackageNode node) { 75 return matchesName(node.getName()); 76 } 77 78 public boolean matches(ClassNode node) { 79 return matchesName(node.getName()); 80 } 81 82 public boolean matches(FeatureNode node) { 83 return matchesName(node.getName()); 84 } 85 86 public boolean matchesPackageName(String name) { 87 return matchesName(name); 88 } 89 90 public boolean matchesClassName(String name) { 91 return matchesName(name); 92 } 93 94 public boolean matchesFeatureName(String name) { 95 return matchesName(name); 96 } 97 98 private boolean matchesName(String name) { 99 return (include == null || include.contains(name)) && (exclude == null || !exclude.contains(name)); 100 } 101 } 102 | Popular Tags |