1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package net.sf.beanform.validator;
16
17 import java.util.List;
18
19 import net.sf.beanform.prop.BeanProperty;
20 import net.sf.beanform.util.ReflectionUtils;
21
22 import org.apache.tapestry.IComponent;
23 import org.apache.tapestry.event.ReportStatusListener;
24 import org.apache.tapestry.event.ResetEventListener;
25 import org.apache.tapestry.form.validator.Validator;
26 import org.apache.tapestry.form.validator.ValidatorFactory;
27
28 /***
29 * Wraps a {@link ValidatorFactory} to provide caching services for the generated validator lists.
30 * This isn't normally necessary, as the validator bindings are cached along with the pages, but
31 * we're not using validator bindings because we need the validation lists to be built dynamically.
32 * It also adds "inherent" validators to the generated lists -- these are validators that are inherent
33 * to the property type.
34 *
35 * @see AbstractNumberValidator
36 * @see ReflectionUtils#convertToType(Object, Class)
37 *
38 * @author Daniel Gredler
39 */
40 public interface CachingValidatorFactory extends ResetEventListener, ReportStatusListener {
41
42 public List<Validator> constructValidatorList( IComponent component, BeanProperty property );
43
44 }