package org.nutz.dao;
import java.util.regex.Pattern;
import org.nutz.lang.Strings;
/**
* 字段匹配器
*
* @author zozoh(zozohtnt@gmail.com)
*/
public class FieldMatcher {
public static FieldMatcher make(String actived, String locked, boolean ignoreNull) {
FieldMatcher fm = new FieldMatcher();
fm.ignoreNull = ignoreNull;
if (!Strings.isBlank(actived))
fm.actived = Pattern.compile(actived);
if (!Strings.isBlank(locked))
fm.locked = Pattern.compile(locked);
return fm;
}
/**
* 哪些字段可用
*/
private Pattern actived;
/**
* 哪些字段不可用
*/
private Pattern locked;
/**
* 是否忽略空值
*/
private boolean ignoreNull;
public boolean match(String str) {
if (null != locked)
if (locked.matcher(str).find())
return false;
if (null != actived)
if (!actived.matcher(str).find())
return false;
return true;
}
public boolean isIgnoreNull() {
return ignoreNull;
}
public void setIgnoreNull(boolean ignoreNull) {
this.ignoreNull = ignoreNull;
}
public Pattern getActived() {
return actived;
}
public Pattern getLocked() {
return locked;
}
public void setActived(Pattern actived) {
this.actived = actived;
}
public void setLocked(Pattern locked) {
this.locked = locked;
}
}