01: package nl.knowlogy.validation.jsf.component.validator;
02:
03: import java.util.Iterator;
04: import java.util.List;
05:
06: import javax.faces.component.EditableValueHolder;
07: import javax.faces.component.UIComponent;
08: import javax.faces.component.UIComponentBase;
09:
10: public class JValidateAll extends UIComponentBase {
11: public static final String COMPONENT_FAMILY = "nl.knowlogy.validation.ValidateAll";
12:
13: public static final String COMPONENT_TYPE = "nl.knowlogy.validation.ValidateAll";
14:
15: public String getFamily() {
16: return COMPONENT_FAMILY;
17: }
18:
19: public List getChildren() {
20: addValidators(super .getChildren());
21: return super .getChildren();
22: }
23:
24: private void addValidators(List children) {
25:
26: for (Iterator childIter = children.iterator(); childIter
27: .hasNext();) {
28:
29: Object child = (Object) childIter.next();
30:
31: if (child instanceof EditableValueHolder) {
32: EditableValueHolder evh = (EditableValueHolder) child;
33: if (evh.getValidators().length == 0
34: && evh.getValidator() == null) {
35: evh.addValidator(new JValidator());
36: }
37: } else if (child instanceof UIComponent) {
38: addValidators(((UIComponent) child).getChildren());
39: }
40: }
41: }
42:
43: }
|