package com.smartandroid.sa.verifi;
import java.util.regex.Pattern;
import android.content.Context;
/**
* This validator test value with custom Regex Pattern.
*/
public class RegExpVerifior extends AbstractVerifior {
private Pattern mPattern;
private int mErrorMessage;
public RegExpVerifior(Context c) {
super(c);
mErrorMessage = c.getResources().getIdentifier("validator_regexp",
"string", c.getPackageName());
}
public RegExpVerifior(Context c, int errorMessage) {
super(c);
mErrorMessage = errorMessage;
}
public void setPattern(String pattern) {
mPattern = Pattern.compile(pattern);
}
public void setPattern(Pattern pattern) {
mPattern = pattern;
}
@Override
public boolean isValid(String value) throws VerifiorException {
if (mPattern != null) {
return mPattern.matcher(value).matches();
} else {
throw new VerifiorException("You can set Regexp Pattern first");
}
}
@Override
public String getMessage() {
return mContext.getString(mErrorMessage);
}
}