package org.jboss.capedwarf.validation.api; import java.lang.annotation.Annotation; import java.util.regex.Pattern; /** * javax.validation email validator. * * @author <a href="mailto:ales.justin@jboss.org">Ales Justin</a> */ public abstract class AbstractEmailConstraintValidator<T extends Annotation> extends AbstractPatternConstraintValidator<T> { private static String ATOM = "[^\\x00-\\x1F^\\(^\\)^\\<^\\>^\\@^\\,^\\;^\\:^\\\\^\\\"^\\.^\\[^\\]^\\s]"; private static String DOMAIN = "(" + ATOM + "+(\\." + ATOM + "+)*"; private static String IP_DOMAIN = "\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]"; private static java.util.regex.Pattern pattern = java.util.regex.Pattern.compile( "^" + ATOM + "+(\\." + ATOM + "+)*@" + DOMAIN + "|" + IP_DOMAIN + ")$", java.util.regex.Pattern.CASE_INSENSITIVE ); protected Pattern createPattern(T constraintAnnotation) { return pattern; } protected Boolean lengthCheck(String string) { return (string.length() == 0) ? true : null; } }