package com.retailwave.fce.client.util;
/**
* $Id: ValidatorHelper.java 5 2010-06-03 11:07:35Z muthu $
* $HeadURL: svn://10.10.200.111:3691/Finance/tags/framework-snapshot1/fce/src/main/java/com/retailwave/fce/client/util/ValidatorHelper.java $
*/
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.TextBoxBase;
import com.google.gwt.user.client.ui.UIObject;
import com.retailwave.fce.client.validator.PersonNameValidator;
import eu.maydu.gwt.validation.client.Validator;
import eu.maydu.gwt.validation.client.validators.standard.NotEmptyValidator;
import eu.maydu.gwt.validation.client.validators.strings.EmailValidator;
import eu.maydu.gwt.validation.client.validators.strings.NameValidator;
import eu.maydu.gwt.validation.client.validators.strings.StringLengthValidator;
public class ValidatorHelper {
private ValidatorHelper() {
}
public static Validator<? extends Validator> createValidator(String name, UIObject uiObject) {
if (StringLengthValidator.class.getName().equals(name)) {
return createStringLengthValidator(uiObject);
} else if (NotEmptyValidator.class.getName().equals(name)) {
return createNotEmptyValidator(uiObject);
} else if (NameValidator.class.getName().equals(name)) {
return createNameValidator(uiObject);
} else if (PersonNameValidator.class.getName().equals(name)) {
return createPersonNameValidator(uiObject);
} else if (EmailValidator.class.getName().equals(name)) {
return createEmailValidator(uiObject);
}
return null;
}
private static PersonNameValidator createPersonNameValidator(UIObject uiObject) {
return new PersonNameValidator((TextBox) uiObject);
}
public static StringLengthValidator createStringLengthValidator(UIObject uiObject) {
StringLengthValidator stringLengthValidator = new StringLengthValidator((TextBoxBase) uiObject);
// todo: set min and max for length validator
stringLengthValidator.setMax(50);
return stringLengthValidator;
}
public static NotEmptyValidator createNotEmptyValidator(UIObject uiObject) {
return new NotEmptyValidator((TextBoxBase) uiObject);
}
public static NameValidator createNameValidator(UIObject uiObject) {
return new NameValidator((TextBox) uiObject);
}
public static EmailValidator createEmailValidator(UIObject uiObject) {
return new EmailValidator((TextBox) uiObject);
}
}