1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.tag.jsf.core;
20
21 import javax.faces.validator.Validator;
22 import javax.faces.view.facelets.FaceletContext;
23 import javax.faces.view.facelets.MetaRuleset;
24 import javax.faces.view.facelets.TagAttribute;
25 import javax.faces.view.facelets.ValidatorConfig;
26 import javax.faces.view.facelets.ValidatorHandler;
27
28 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletAttribute;
29 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
30
31
32
33
34
35
36
37
38
39
40 @JSFFaceletTag(
41 name = "f:validator",
42 bodyContent = "empty",
43 tagClass="org.apache.myfaces.taglib.core.ValidatorImplTag")
44 @JSFFaceletAttribute(name="disabled", deferredValueType="java.lang.Boolean",
45 desc="no description", longDescription="no description")
46 public final class ValidateDelegateHandler extends ValidatorHandler
47 {
48
49 private final TagAttribute validatorId;
50
51 public ValidateDelegateHandler(ValidatorConfig config)
52 {
53 super(config);
54 this.validatorId = this.getAttribute("validatorId");
55 }
56
57
58
59
60
61
62
63 protected Validator createValidator(FaceletContext ctx)
64 {
65 return ctx.getFacesContext().getApplication().createValidator(this.getValidatorId(ctx));
66 }
67
68 protected MetaRuleset createMetaRuleset(Class type)
69 {
70 return super.createMetaRuleset(type).ignoreAll();
71 }
72
73 @Override
74 public String getValidatorId(FaceletContext ctx)
75 {
76 if (validatorId == null)
77 {
78 return null;
79 }
80 return validatorId.getValue(ctx);
81 }
82
83 }