package message.validate.handler;
import message.utils.ValidateUtils;
import message.validate.annotations.English;
import message.validate.core.ValidateHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.annotation.Annotation;
/**
* 英文验证的处理类.
*
* @author sunhao(sunhao.java@gmail.com)
* @version V1.0
* @createTime 12-11-26 下午8:24
*/
public class EnglishHandler extends ValidateHandler {
private static final Logger logger = LoggerFactory.getLogger(EnglishHandler.class);
protected boolean handle(Annotation annotation, Object value) {
English c = (English) annotation;
int min = c.min();
int max = c.max();
if (min >= max) {
logger.debug("no length limit!");
return ValidateUtils.isEnglish((String) value);
} else {
int length = ((String) value).length();
logger.debug("get validate min is '{}', max is '{}', value length is '{}'", new int[]{min, max, length});
return min <= length && max >= length && ValidateUtils.isEnglish((String) value);
}
}
}