package japicmp.config;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Encapsulates all options regarding ignore missing classes.
*/
public class IgnoreMissingClasses {
private boolean ignoreAllMissingClasses = false;
private List<Pattern> ignoreMissingClassRegularExpression = new ArrayList<>();
public boolean isIgnoreAllMissingClasses() {
return ignoreAllMissingClasses;
}
public List<Pattern> getIgnoreMissingClassRegularExpression() {
return ignoreMissingClassRegularExpression;
}
public void setIgnoreAllMissingClasses(boolean ignoreAllMissingClasses) {
this.ignoreAllMissingClasses = ignoreAllMissingClasses;
}
public void setIgnoreMissingClassRegularExpression(List<Pattern> ignoreMissingClassRegularExpression) {
this.ignoreMissingClassRegularExpression = ignoreMissingClassRegularExpression;
}
public boolean ignoreClass(String className) {
if (this.ignoreAllMissingClasses) {
return true;
} else if (!this.ignoreMissingClassRegularExpression.isEmpty()) {
for (Pattern pattern : this.ignoreMissingClassRegularExpression) {
Matcher matcher = pattern.matcher(className);
if (matcher.matches()) {
return true;
}
}
}
return false;
}
}