1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.taglib.extension;
21
22 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
23 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
24 import org.apache.myfaces.tobago.component.Facets;
25 import org.apache.myfaces.tobago.internal.taglib.LabelTag;
26 import org.apache.myfaces.tobago.internal.taglib.SeparatorTag;
27
28 import javax.faces.webapp.FacetTag;
29 import javax.servlet.jsp.JspException;
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 public class SeparatorExtensionTag extends TobagoExtensionBodyTagSupport {
46
47 private javax.el.ValueExpression binding;
48 private javax.el.ValueExpression rendered;
49 private javax.el.ValueExpression label;
50
51 private SeparatorTag separatorTag;
52 private FacetTag facetTag;
53 private LabelTag labelTag;
54
55 @Override
56 public int doStartTag() throws JspException {
57 separatorTag = new SeparatorTag();
58 separatorTag.setPageContext(pageContext);
59 separatorTag.setParent(getParent());
60 if (binding != null) {
61 separatorTag.setBinding(binding);
62 }
63 if (rendered != null) {
64 separatorTag.setRendered(rendered);
65 }
66 facetTag = new FacetTag();
67 facetTag.setPageContext(pageContext);
68 facetTag.setParent(separatorTag);
69 facetTag.setName(Facets.LABEL);
70
71 facetTag.doStartTag();
72 labelTag = new LabelTag();
73 labelTag.setPageContext(pageContext);
74 labelTag.setParent(facetTag);
75 if (label != null) {
76 labelTag.setValue(label);
77 }
78 labelTag.setJspId(nextJspId());
79 labelTag.doStartTag();
80 return super.doStartTag();
81 }
82
83 @Override
84 public int doEndTag() throws JspException {
85 labelTag.doEndTag();
86 facetTag.doEndTag();
87 separatorTag.doEndTag();
88 return super.doEndTag();
89 }
90
91 @Override
92 public void release() {
93 super.release();
94 binding = null;
95 rendered = null;
96 label = null;
97 separatorTag = null;
98 facetTag = null;
99 labelTag = null;
100 }
101
102
103
104
105
106 @TagAttribute
107 @UIComponentTagAttribute(type = "javax.faces.component.UIComponent")
108 public void setBinding(javax.el.ValueExpression binding) throws JspException {
109 this.binding = binding;
110 }
111
112
113
114
115
116 @TagAttribute
117 @UIComponentTagAttribute(type = "boolean", defaultValue = "true")
118 public void setRendered(javax.el.ValueExpression rendered) {
119 this.rendered = rendered;
120 }
121
122
123
124
125
126 @TagAttribute
127 @UIComponentTagAttribute()
128 public void setLabel(javax.el.ValueExpression label) {
129 this.label = label;
130 }
131 }