package com.kritsit.casetracker.client.validation; public class EmailValidator implements IValidator<String> { public boolean validate(Object obj) { if (obj == null || obj.getClass() != String.class) { return false; } String stringObj = (String) obj; return isEmailAddress(stringObj); } public boolean isEmailAddress(String emailAddress) { if (emailAddress == null || emailAddress.trim().isEmpty()) { return false; } boolean containsAt = emailAddress.contains("@"); int dot = emailAddress.lastIndexOf("."); int at = emailAddress.indexOf("@"); boolean contailsDot = dot != -1 && at != -1; boolean correctFormat = at != 0 && at < dot && dot != emailAddress.length() - 1; return containsAt && contailsDot && correctFormat; } }