1 19 20 package edu.umd.cs.findbugs.filter; 21 22 import java.util.regex.Pattern ; 23 24 39 public class NameMatch { 40 41 private String exact; 42 43 private Pattern pattern; 44 45 public String getValue() { 46 if (exact != null) return exact; 47 return pattern.toString(); 48 } 49 public NameMatch(String matchSpec) { 50 if (matchSpec != null) { 51 if (matchSpec.startsWith("~")) { 52 pattern = Pattern.compile(matchSpec.substring(1)); 53 } else { 54 exact = matchSpec; 55 } 56 } 57 } 58 59 public boolean match(String value) { 60 if (exact != null) 61 return exact.equals(value); 62 if (pattern != null) 63 return pattern.matcher(value).matches(); 64 return true; 65 } 66 67 @Override 68 public String toString() { 69 if (exact != null) 70 return "exact(" + exact + ")"; 71 if (pattern != null) 72 return "regex(" + pattern.toString() + ")"; 73 return "any()"; 74 } 75 } 76 | Popular Tags |