package org.ovirt.engine.ui.uicompat; import org.ovirt.engine.core.compat.Regex; import org.ovirt.engine.core.compat.RegexOptions; /** * Email address verification. * (Imitate 'org.hibernate.validator.constraints.impl.EmailValidator') */ public class MailAddress { 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 String pattern = "^" + ATOM + "+(\\." + ATOM + "+)*@" + DOMAIN + "|" + IP_DOMAIN + ")$"; public MailAddress(String value) { if (!Regex.IsMatch(value, pattern, RegexOptions.IgnoreCase)) { throw new RuntimeException(); } } }