View Javadoc

    1   package net.sourceforge.pmd.util.filter;
    2
    3   import java.util.regex.Pattern;
    4
    5   /**
    6    * A filter to which uses a regular expression to match upon Strings.
    7    */
    8   public class RegexStringFilter implements Filter<String> {
    9
    10  	protected String regex;
    11
    12  	protected Pattern pattern;
    13
    14  	public RegexStringFilter() {
    15  	}
    16
    17  	public RegexStringFilter(String regex) {
    18  		this.regex = regex;
    19  	}
    20
    21  	public String getRegex() {
    22  		return regex;
    23  	}
    24
    25  	public void setRegex(String regex) {
    26  		this.regex = regex;
    27  		this.pattern = null;
    28  	}
    29
    30  	public boolean filter(String obj) {
    31  		if (pattern == null) {
    32  			pattern = Pattern.compile(regex);
    33  		}
    34  		return pattern.matcher(obj).matches();
    35  	}
    36
    37  	public String toString() {
    38  		return "matches " + regex;
    39  	}
    40  }