001 package org.trails.validation;
002
003 import org.apache.tapestry.form.translator.DateTranslator;
004 import org.apache.tapestry.form.translator.NumberTranslator;
005 import org.apache.tapestry.form.translator.StringTranslator;
006 import org.apache.tapestry.form.translator.Translator;
007 import org.apache.tapestry.valid.BaseValidator;
008 import org.apache.tapestry.valid.IValidator;
009 import org.apache.tapestry.valid.NumberValidator;
010 import org.apache.tapestry.valid.StringValidator;
011 import org.trails.descriptor.IPropertyDescriptor;
012
013 public class ValidatorTranslatorService
014 {
015 /**
016 * @param class1
017 * @return
018 */
019 public IValidator getValidator(IPropertyDescriptor descriptor)
020 {
021 BaseValidator validator = null;
022
023 if (descriptor.isNumeric())
024 {
025 validator = new NumberValidator();
026 ((NumberValidator) validator).setValueTypeClass(descriptor.getPropertyType());
027 } else
028 {
029 validator = new StringValidator();
030 }
031 validator.setRequired(descriptor.isRequired());
032 return validator;
033 }
034
035 public Translator getTranslator(IPropertyDescriptor descriptor)
036 {
037 if (descriptor.isNumeric())
038 {
039 NumberTranslator numberTranslator = new NumberTranslator();
040 if (descriptor.getFormat() != null) numberTranslator.setPattern(descriptor.getFormat());
041 return numberTranslator;
042 } else if (descriptor.isDate())
043 {
044 DateTranslator dateTranslator = new DateTranslator();
045 if (descriptor.getFormat() != null) dateTranslator.setPattern(descriptor.getFormat());
046 return dateTranslator;
047 } else
048 {
049 return new StringTranslator();
050 }
051
052 }
053 }