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.ui;
20
21 import java.io.IOException;
22
23 import javax.el.ELException;
24 import javax.faces.FacesException;
25 import javax.faces.component.UIComponent;
26 import javax.faces.view.facelets.FaceletContext;
27 import javax.faces.view.facelets.FaceletException;
28 import javax.faces.view.facelets.TagAttribute;
29 import javax.faces.view.facelets.TagAttributeException;
30 import javax.faces.view.facelets.TagConfig;
31 import javax.faces.view.facelets.TagHandler;
32
33 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletAttribute;
34 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
35
36
37
38
39
40
41
42
43 @JSFFaceletTag(name="ui:define")
44 public final class DefineHandler extends TagHandler
45 {
46
47
48
49
50
51 @JSFFaceletAttribute(
52 className="javax.el.ValueExpression",
53 deferredValueType="java.lang.String",
54 required=true)
55 private final String name;
56
57
58
59
60 public DefineHandler(TagConfig config)
61 {
62 super(config);
63 TagAttribute attr = this.getRequiredAttribute("name");
64 if (!attr.isLiteral())
65 {
66 throw new TagAttributeException(this.tag, attr, "Must be Literal");
67 }
68 this.name = attr.getValue();
69 }
70
71
72
73
74
75
76 public void apply(FaceletContext ctx, UIComponent parent) throws IOException, FacesException, FaceletException,
77 ELException
78 {
79
80
81 }
82
83 public void applyDefinition(FaceletContext ctx, UIComponent parent) throws IOException, FacesException,
84 FaceletException, ELException
85 {
86 this.nextHandler.apply(ctx, parent);
87 }
88
89 public String getName()
90 {
91 return this.name;
92 }
93 }