1 package org.apache.myfaces.tobago.taglib.extension12;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
21 import org.apache.myfaces.tobago.apt.annotation.Tag;
22 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
23 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
24 import org.apache.myfaces.tobago.apt.annotation.DynamicExpression;
25 import org.apache.myfaces.tobago.internal.taglib.SelectBooleanCheckboxTag;
26 import org.apache.myfaces.tobago.internal.taglib.MenuItemTag;
27
28 import javax.faces.webapp.FacetTag;
29 import javax.servlet.jsp.JspException;
30 import javax.servlet.jsp.tagext.BodyTagSupport;
31 import javax.el.MethodExpression;
32
33
34
35
36
37
38
39
40
41
42 @Tag(name = "menuCheckbox", tagExtraInfoClassName = "org.apache.myfaces.tobago.taglib.component.CommandTagExtraInfo")
43 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.taglib.component.MenuCheckboxTag")
44 public class MenuCheckboxExtensionTag extends BodyTagSupport {
45 private javax.el.ValueExpression rendered;
46 private javax.el.ValueExpression value;
47
48 private MenuItemTag menuCommandTag;
49 private SelectBooleanCheckboxTag selectBooleanCheckbox;
50 private FacetTag facetTag;
51 private javax.el.MethodExpression action;
52 private javax.el.MethodExpression actionListener;
53 private javax.el.ValueExpression onclick;
54 private javax.el.ValueExpression link;
55 private javax.el.ValueExpression disabled;
56 private javax.el.ValueExpression binding;
57 private javax.el.ValueExpression label;
58 private javax.el.ValueExpression immediate;
59 private javax.el.ValueExpression transition;
60 private javax.el.ValueExpression renderedPartially;
61
62 @Override
63 public int doStartTag() throws JspException {
64
65 menuCommandTag = new MenuItemTag();
66 menuCommandTag.setPageContext(pageContext);
67 menuCommandTag.setParent(getParent());
68 if (rendered != null) {
69 menuCommandTag.setRendered(rendered);
70 }
71 if (action != null) {
72 menuCommandTag.setAction(action);
73 }
74 if (actionListener != null) {
75 menuCommandTag.setActionListener(actionListener);
76 }
77 if (onclick != null) {
78 menuCommandTag.setOnclick(onclick);
79 }
80 if (link != null) {
81 menuCommandTag.setLink(link);
82 }
83 if (disabled != null) {
84 menuCommandTag.setDisabled(disabled);
85 }
86 if (binding != null) {
87 menuCommandTag.setBinding(binding);
88 }
89 if (label != null) {
90 menuCommandTag.setLabel(label);
91 }
92 if (immediate != null) {
93 menuCommandTag.setImmediate(immediate);
94 }
95 if (transition != null) {
96 menuCommandTag.setTransition(transition);
97 }
98 if (renderedPartially != null) {
99 menuCommandTag.setRenderedPartially(renderedPartially);
100 }
101 menuCommandTag.doStartTag();
102
103 facetTag = new FacetTag();
104 facetTag.setPageContext(pageContext);
105 facetTag.setParent(menuCommandTag);
106 facetTag.setName(org.apache.myfaces.tobago.TobagoConstants.FACET_ITEMS);
107
108 facetTag.doStartTag();
109 selectBooleanCheckbox = new SelectBooleanCheckboxTag();
110 selectBooleanCheckbox.setPageContext(pageContext);
111 if (value != null) {
112 selectBooleanCheckbox.setValue(value);
113 }
114 selectBooleanCheckbox.setParent(facetTag);
115 selectBooleanCheckbox.doStartTag();
116 return super.doStartTag();
117 }
118
119 @Override
120 public int doEndTag() throws JspException {
121 selectBooleanCheckbox.doEndTag();
122 facetTag.doEndTag();
123 menuCommandTag.doEndTag();
124 return super.doEndTag();
125 }
126
127
128
129
130
131
132
133
134
135
136 @TagAttribute
137 @UIComponentTagAttribute(type = {}, expression = DynamicExpression.METHOD_BINDING,
138 methodReturnType = "java.lang.Object")
139 public void setAction(MethodExpression action) {
140 this.action = action;
141 }
142
143
144
145
146
147
148
149 @TagAttribute
150 @UIComponentTagAttribute(type = {}, expression = DynamicExpression.METHOD_BINDING_REQUIRED,
151 methodSignature = "javax.faces.event.ActionEvent")
152 public void setActionListener(javax.el.MethodExpression actionListener) {
153 this.actionListener = actionListener;
154 }
155
156
157
158
159
160
161 @TagAttribute
162 @UIComponentTagAttribute()
163 public void setOnclick(javax.el.ValueExpression onclick) {
164 this.onclick = onclick;
165 }
166
167
168
169
170
171
172 @TagAttribute
173 @UIComponentTagAttribute()
174 public void setLink(javax.el.ValueExpression link) {
175 this.link = link;
176 }
177
178
179
180
181
182 @TagAttribute
183 @UIComponentTagAttribute(type = "javax.faces.component.UIComponent")
184 public void setBinding(javax.el.ValueExpression binding) throws JspException {
185 this.binding = binding;
186 }
187
188
189
190
191
192 @TagAttribute
193 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
194 public void setRendered(javax.el.ValueExpression rendered) {
195 this.rendered = rendered;
196 }
197
198
199
200
201 @TagAttribute()
202 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
203 public void setDisabled(javax.el.ValueExpression disabled) {
204 this.disabled = disabled;
205 }
206
207
208
209
210 @TagAttribute
211 @UIComponentTagAttribute(type = "java.lang.Object")
212 public void setValue(javax.el.ValueExpression value) {
213 this.value = value;
214 }
215
216
217
218
219
220 @TagAttribute
221 @UIComponentTagAttribute()
222 public void setLabel(javax.el.ValueExpression label) {
223 this.label = label;
224 }
225
226
227
228
229
230
231
232 @TagAttribute
233 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
234 public void setImmediate(javax.el.ValueExpression immediate) {
235 this.immediate = immediate;
236 }
237
238
239
240
241
242
243
244 @TagAttribute
245 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
246 public void setTransition(javax.el.ValueExpression transition) {
247 this.transition = transition;
248 }
249
250
251
252
253 @TagAttribute
254 @UIComponentTagAttribute(type = "java.lang.String[]")
255 public void setRenderedPartially(javax.el.ValueExpression renderedPartially) {
256 this.renderedPartially = renderedPartially;
257 }
258
259 public void release() {
260 super.release();
261 rendered = null;
262 value = null;
263 action = null;
264 actionListener = null;
265 onclick = null;
266 link = null;
267 disabled = null;
268 binding = null;
269 label = null;
270 immediate = null;
271 transition = null;
272 renderedPartially = null;
273 menuCommandTag = null;
274 facetTag = null;
275 selectBooleanCheckbox = null;
276 }
277 }