View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.shared.renderkit.html;
20  
21  import java.io.IOException;
22  
23  import javax.faces.component.UIComponent;
24  import javax.faces.component.UIViewRoot;
25  import javax.faces.context.ResponseWriter;
26  
27  public final class CommonPropertyUtils
28  {
29      public static long getCommonPropertiesMarked(UIComponent component)
30      {
31          Long commonProperties = (Long) component.getAttributes().get(CommonPropertyConstants.COMMON_PROPERTIES_MARKED);
32          
33          if (commonProperties == null)
34          {
35              commonProperties = 0L;
36          }
37  
38          return commonProperties;
39      }
40      
41      public static boolean isIdRenderingNecessary(UIComponent component)
42      {
43          return component.getId() != null && !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX);
44      }
45  
46      public static void renderUniversalProperties(ResponseWriter writer,
47              long commonPropertiesMarked, UIComponent component)
48              throws IOException
49      {
50          if ((commonPropertiesMarked & CommonPropertyConstants.DIR_PROP) != 0)
51          {
52              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
53                      HTML.DIR_ATTR, HTML.DIR_ATTR);
54          }
55          if ((commonPropertiesMarked & CommonPropertyConstants.LANG_PROP) != 0)
56          {
57              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
58                      HTML.LANG_ATTR, HTML.LANG_ATTR);
59          }
60          if ((commonPropertiesMarked & CommonPropertyConstants.TITLE_PROP) != 0)
61          {
62              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
63                      HTML.TITLE_ATTR, HTML.TITLE_ATTR);
64          }
65          if ((commonPropertiesMarked & CommonPropertyConstants.ROLE_PROP) != 0)
66          {
67              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
68                      HTML.ROLE_ATTR, HTML.ROLE_ATTR);
69          }
70      }
71      
72      public static void renderUniversalPropertiesWithoutTitle(ResponseWriter writer,
73              long commonPropertiesMarked, UIComponent component)
74              throws IOException
75      {
76          if ((commonPropertiesMarked & CommonPropertyConstants.DIR_PROP) != 0)
77          {
78              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
79                      HTML.DIR_ATTR, HTML.DIR_ATTR);
80          }
81          if ((commonPropertiesMarked & CommonPropertyConstants.LANG_PROP) != 0)
82          {
83              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
84                      HTML.LANG_ATTR, HTML.LANG_ATTR);
85          }
86          if ((commonPropertiesMarked & CommonPropertyConstants.ROLE_PROP) != 0)
87          {
88              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
89                      HTML.ROLE_ATTR, HTML.ROLE_ATTR);
90          }
91      }
92  
93      public static void renderStyleProperties(ResponseWriter writer,
94              long commonPropertiesMarked, UIComponent component)
95              throws IOException
96      {
97          if ((commonPropertiesMarked & CommonPropertyConstants.STYLE_PROP) != 0)
98          {
99              HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
100                     HTML.STYLE_ATTR, HTML.STYLE_ATTR);
101         }
102         if ((commonPropertiesMarked & CommonPropertyConstants.STYLECLASS_PROP) != 0)
103         {
104             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
105                     HTML.STYLE_CLASS_ATTR, HTML.CLASS_ATTR);
106         }
107     }
108     
109     public static void renderStyleClassProperty(ResponseWriter writer,
110             long commonPropertiesMarked, UIComponent component)
111             throws IOException
112     {
113         if ((commonPropertiesMarked & CommonPropertyConstants.STYLECLASS_PROP) != 0)
114         {
115             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
116                     HTML.STYLE_CLASS_ATTR, HTML.CLASS_ATTR);
117         }
118     }
119 
120     public static void renderEventProperties(ResponseWriter writer,
121             long commonPropertiesMarked, UIComponent component)
122             throws IOException
123     {
124         if ((commonPropertiesMarked & CommonPropertyConstants.ONCLICK_PROP) != 0)
125         {
126             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
127                     HTML.ONCLICK_ATTR, HTML.ONCLICK_ATTR);
128         }
129         renderEventPropertiesWithoutOnclick(writer, commonPropertiesMarked, component);
130     }
131     
132     public static void renderEventPropertiesWithoutOnclick(ResponseWriter writer,
133             long commonPropertiesMarked, UIComponent component)
134             throws IOException
135     {
136         if ((commonPropertiesMarked & CommonPropertyConstants.ONDBLCLICK_PROP) != 0)
137         {
138             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
139                     HTML.ONDBLCLICK_ATTR, HTML.ONDBLCLICK_ATTR);
140         }
141         if ((commonPropertiesMarked & CommonPropertyConstants.ONMOUSEDOWN_PROP) != 0)
142         {
143             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
144                     HTML.ONMOUSEDOWN_ATTR, HTML.ONMOUSEDOWN_ATTR);
145         }
146         if ((commonPropertiesMarked & CommonPropertyConstants.ONMOUSEUP_PROP) != 0)
147         {
148             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
149                     HTML.ONMOUSEUP_ATTR, HTML.ONMOUSEUP_ATTR);
150         }
151         if ((commonPropertiesMarked & CommonPropertyConstants.ONMOUSEOVER_PROP) != 0)
152         {
153             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
154                     HTML.ONMOUSEOVER_ATTR, HTML.ONMOUSEOVER_ATTR);
155         }
156         if ((commonPropertiesMarked & CommonPropertyConstants.ONMOUSEMOVE_PROP) != 0)
157         {
158             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
159                     HTML.ONMOUSEMOVE_ATTR, HTML.ONMOUSEMOVE_ATTR);
160         }
161         if ((commonPropertiesMarked & CommonPropertyConstants.ONMOUSEOUT_PROP) != 0)
162         {
163             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
164                     HTML.ONMOUSEOUT_ATTR, HTML.ONMOUSEOUT_ATTR);
165         }
166         if ((commonPropertiesMarked & CommonPropertyConstants.ONKEYPRESS_PROP) != 0)
167         {
168             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
169                     HTML.ONKEYPRESS_ATTR, HTML.ONKEYPRESS_ATTR);
170         }
171         if ((commonPropertiesMarked & CommonPropertyConstants.ONKEYDOWN_PROP) != 0)
172         {
173             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
174                     HTML.ONKEYDOWN_ATTR, HTML.ONKEYDOWN_ATTR);
175         }
176         if ((commonPropertiesMarked & CommonPropertyConstants.ONKEYUP_PROP) != 0)
177         {
178             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
179                     HTML.ONKEYUP_ATTR, HTML.ONKEYUP_ATTR);
180         }
181     }
182     
183     
184     public static void renderChangeSelectEventProperties(ResponseWriter writer,
185             long commonPropertiesMarked, UIComponent component)
186             throws IOException
187     {
188         if ((commonPropertiesMarked & CommonPropertyConstants.ONCHANGE_PROP) != 0)
189         {
190             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
191                     HTML.ONCHANGE_ATTR, HTML.ONCHANGE_ATTR);
192         }
193         if ((commonPropertiesMarked & CommonPropertyConstants.ONSELECT_PROP) != 0)
194         {
195             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
196                     HTML.ONSELECT_ATTR, HTML.ONSELECT_ATTR);
197         }
198     }
199     
200     public static void renderFocusBlurEventProperties(ResponseWriter writer,
201             long commonPropertiesMarked, UIComponent component)
202             throws IOException
203     {
204         if ((commonPropertiesMarked & CommonPropertyConstants.ONFOCUS_PROP) != 0)
205         {
206             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
207                     HTML.ONFOCUS_ATTR, HTML.ONFOCUS_ATTR);
208         }
209         if ((commonPropertiesMarked & CommonPropertyConstants.ONBLUR_PROP) != 0)
210         {
211             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
212                     HTML.ONBLUR_ATTR, HTML.ONBLUR_ATTR);
213         }
214     }
215     
216     public static void renderFieldEventPropertiesWithoutOnchangeAndOnselect(ResponseWriter writer,
217             long commonPropertiesMarked, UIComponent component) throws IOException
218     {
219         if ((commonPropertiesMarked & CommonPropertyConstants.ONFOCUS_PROP) != 0)
220         {
221             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
222                     HTML.ONFOCUS_ATTR, HTML.ONFOCUS_ATTR);
223         }
224         if ((commonPropertiesMarked & CommonPropertyConstants.ONBLUR_PROP) != 0)
225         {
226             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
227                     HTML.ONBLUR_ATTR, HTML.ONBLUR_ATTR);
228         }
229     }
230     
231     public static void renderFieldEventPropertiesWithoutOnchange(ResponseWriter writer,
232             long commonPropertiesMarked, UIComponent component) throws IOException
233     {
234         if ((commonPropertiesMarked & CommonPropertyConstants.ONFOCUS_PROP) != 0)
235         {
236             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
237                     HTML.ONFOCUS_ATTR, HTML.ONFOCUS_ATTR);
238         }
239         if ((commonPropertiesMarked & CommonPropertyConstants.ONBLUR_PROP) != 0)
240         {
241             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
242                     HTML.ONBLUR_ATTR, HTML.ONBLUR_ATTR);
243         }
244         if ((commonPropertiesMarked & CommonPropertyConstants.ONSELECT_PROP) != 0)
245         {
246             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
247                     HTML.ONSELECT_ATTR, HTML.ONSELECT_ATTR);
248         }
249     }
250     
251     public static void renderChangeEventProperty(ResponseWriter writer,
252             long commonPropertiesMarked, UIComponent component) throws IOException
253     {
254         if ((commonPropertiesMarked & CommonPropertyConstants.ONCHANGE_PROP) != 0)
255         {
256             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
257                     HTML.ONCHANGE_ATTR, HTML.ONCHANGE_ATTR);
258         }
259     }
260     
261     public static void renderAccesskeyTabindexProperties(ResponseWriter writer,
262             long commonPropertiesMarked, UIComponent component)
263             throws IOException
264     {
265         if ((commonPropertiesMarked & CommonPropertyConstants.ACCESSKEY_PROP) != 0)
266         {
267             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
268                     HTML.ACCESSKEY_ATTR, HTML.ACCESSKEY_ATTR);
269         }
270         if ((commonPropertiesMarked & CommonPropertyConstants.TABINDEX_PROP) != 0)
271         {
272             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
273                     HTML.TABINDEX_ATTR, HTML.TABINDEX_ATTR);
274         }
275     }
276 
277     public static void renderAltAlignProperties(ResponseWriter writer,
278             long commonPropertiesMarked, UIComponent component)
279             throws IOException
280     {
281         if ((commonPropertiesMarked & CommonPropertyConstants.ALIGN_PROP) != 0)
282         {
283             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
284                     HTML.ALIGN_ATTR, HTML.ALIGN_ATTR);
285         }
286         if ((commonPropertiesMarked & CommonPropertyConstants.ALT_PROP) != 0)
287         {
288             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
289                     HTML.ALT_ATTR, HTML.ALT_ATTR);
290         }
291     }
292 
293     public static void renderInputProperties(ResponseWriter writer,
294             long commonPropertiesMarked, UIComponent component)
295     throws IOException
296     {
297         if ((commonPropertiesMarked & CommonPropertyConstants.ALIGN_PROP) != 0)
298         {
299             HtmlRendererUtils.renderHTMLAttribute(writer, component,
300                     HTML.ALIGN_ATTR, HTML.ALIGN_ATTR);
301         }
302         if ((commonPropertiesMarked & CommonPropertyConstants.ALT_PROP) != 0)
303         {
304             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
305                     HTML.ALT_ATTR, HTML.ALT_ATTR);
306         }
307         if ((commonPropertiesMarked & CommonPropertyConstants.CHECKED_PROP) != 0)
308         {
309             HtmlRendererUtils.renderHTMLAttribute(writer, component,
310                     HTML.CHECKED_ATTR, HTML.CHECKED_ATTR);
311         }
312         if ((commonPropertiesMarked & CommonPropertyConstants.MAXLENGTH_PROP) != 0)
313         {
314             HtmlRendererUtils.renderHTMLAttribute(writer, component,
315                     HTML.MAXLENGTH_ATTR, HTML.MAXLENGTH_ATTR);
316         }
317         if ((commonPropertiesMarked & CommonPropertyConstants.READONLY_PROP) != 0)
318         {
319             HtmlRendererUtils.renderHTMLAttribute(writer, component,
320                     HTML.READONLY_ATTR, HTML.READONLY_ATTR);
321         }
322         if ((commonPropertiesMarked & CommonPropertyConstants.SIZE_PROP) != 0)
323         {
324             HtmlRendererUtils.renderHTMLAttribute(writer, component,
325                     HTML.SIZE_ATTR, HTML.SIZE_ATTR);
326         }        
327     }
328     
329     public static void renderAnchorProperties(ResponseWriter writer,
330             long commonPropertiesMarked, UIComponent component)
331     throws IOException
332     {
333         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
334         if ((commonPropertiesMarked & CommonPropertyConstants.CHARSET_PROP) != 0)
335         {
336             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
337                     HTML.CHARSET_ATTR, HTML.CHARSET_ATTR);
338         }        
339         if ((commonPropertiesMarked & CommonPropertyConstants.COORDS_PROP) != 0)
340         {
341             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
342                     HTML.COORDS_ATTR, HTML.COORDS_ATTR);
343         }        
344         if ((commonPropertiesMarked & CommonPropertyConstants.HREFLANG_PROP) != 0)
345         {
346             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
347                     HTML.HREFLANG_ATTR, HTML.HREFLANG_ATTR);
348         }        
349         if ((commonPropertiesMarked & CommonPropertyConstants.REL_PROP) != 0)
350         {
351             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
352                     HTML.REL_ATTR, HTML.REL_ATTR);
353         }        
354         if ((commonPropertiesMarked & CommonPropertyConstants.REV_PROP) != 0)
355         {
356             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
357                     HTML.REV_ATTR, HTML.REV_ATTR);
358         }        
359         if ((commonPropertiesMarked & CommonPropertyConstants.SHAPE_PROP) != 0)
360         {
361             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
362                     HTML.SHAPE_ATTR, HTML.SHAPE_ATTR);
363         }        
364         if ((commonPropertiesMarked & CommonPropertyConstants.TARGET_PROP) != 0)
365         {
366             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
367                     HTML.TARGET_ATTR, HTML.TARGET_ATTR);
368         }        
369         if ((commonPropertiesMarked & CommonPropertyConstants.TYPE_PROP) != 0)
370         {
371             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
372                     HTML.TYPE_ATTR, HTML.TYPE_ATTR);
373         }        
374     }
375 
376     public static void renderCommonPassthroughPropertiesWithoutEvents(ResponseWriter writer,
377             long commonPropertiesMarked, UIComponent component) 
378     throws IOException
379     {
380         renderStyleProperties(writer, commonPropertiesMarked, component);
381         renderUniversalProperties(writer, commonPropertiesMarked, component);
382     }    
383     
384     public static void renderCommonPassthroughProperties(ResponseWriter writer,
385             long commonPropertiesMarked, UIComponent component) 
386     throws IOException
387     {
388         renderStyleProperties(writer, commonPropertiesMarked, component);
389         renderUniversalProperties(writer, commonPropertiesMarked, component);
390         renderEventProperties(writer, commonPropertiesMarked, component);
391     }
392 
393     //Methods 
394     public static void renderCommonFieldEventProperties(ResponseWriter writer,
395             long commonPropertiesMarked, UIComponent component) 
396     throws IOException
397     {
398         renderChangeSelectEventProperties(writer, commonPropertiesMarked, component);
399         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
400     }
401 
402     public static void renderCommonFieldPassthroughPropertiesWithoutDisabled(ResponseWriter writer,
403             long commonPropertiesMarked, UIComponent component) 
404     throws IOException
405     {
406         renderCommonPassthroughProperties(writer, commonPropertiesMarked, component);
407         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
408         renderCommonFieldEventProperties(writer, commonPropertiesMarked, component);
409     }
410     
411     public static void renderCommonFieldPassthroughPropertiesWithoutDisabledAndEvents(ResponseWriter writer,
412             long commonPropertiesMarked, UIComponent component) 
413     throws IOException
414     {
415         renderCommonPassthroughPropertiesWithoutEvents(writer, commonPropertiesMarked, component);
416         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
417     }
418     
419     public static void renderInputPassthroughPropertiesWithoutDisabled(ResponseWriter writer,
420             long commonPropertiesMarked, UIComponent component)
421     throws IOException
422     {
423         renderInputProperties(writer, commonPropertiesMarked, component);
424         renderCommonFieldPassthroughPropertiesWithoutDisabled(writer, commonPropertiesMarked, component);
425     }
426     
427     public static void renderInputPassthroughPropertiesWithoutDisabledAndEvents(ResponseWriter writer,
428             long commonPropertiesMarked, UIComponent component)
429     throws IOException
430     {
431         renderInputProperties(writer, commonPropertiesMarked, component);
432         renderCommonFieldPassthroughPropertiesWithoutDisabledAndEvents(writer, commonPropertiesMarked, component);
433     }
434 
435     public static void renderAnchorPassthroughProperties(ResponseWriter writer,
436             long commonPropertiesMarked, UIComponent component)
437     throws IOException
438     {
439         renderAnchorProperties(writer, commonPropertiesMarked, component);
440         renderCommonPassthroughProperties(writer, commonPropertiesMarked, component);
441         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
442     }
443     
444     public static void renderAnchorPassthroughPropertiesDisabled(ResponseWriter writer,
445             long commonPropertiesMarked, UIComponent component)
446     throws IOException
447     {
448         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
449         renderCommonPassthroughProperties(writer, commonPropertiesMarked, component);
450         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
451     }
452     
453     public static void renderAnchorPassthroughPropertiesWithoutEvents(ResponseWriter writer,
454             long commonPropertiesMarked, UIComponent component)
455     throws IOException
456     {
457         renderAnchorProperties(writer, commonPropertiesMarked, component);
458         renderStyleProperties(writer, commonPropertiesMarked, component);
459         renderUniversalProperties(writer, commonPropertiesMarked, component);
460     }
461     
462     public static void renderAnchorPassthroughPropertiesDisabledWithoutEvents(ResponseWriter writer,
463             long commonPropertiesMarked, UIComponent component)
464     throws IOException
465     {
466         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
467         renderStyleProperties(writer, commonPropertiesMarked, component);
468         renderUniversalProperties(writer, commonPropertiesMarked, component);
469     }    
470     
471     public static void renderAnchorPassthroughPropertiesWithoutStyleAndEvents(ResponseWriter writer,
472             long commonPropertiesMarked, UIComponent component)
473     throws IOException
474     {
475         renderAnchorProperties(writer, commonPropertiesMarked, component);
476         renderUniversalProperties(writer, commonPropertiesMarked, component);
477     }
478     
479     public static void renderAnchorPassthroughPropertiesWithoutStyle(ResponseWriter writer,
480             long commonPropertiesMarked, UIComponent component)
481     throws IOException
482     {
483         renderAnchorProperties(writer, commonPropertiesMarked, component);
484         renderUniversalProperties(writer, commonPropertiesMarked, component);
485         renderEventProperties(writer, commonPropertiesMarked, component);
486         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
487     }
488     
489     public static void renderAnchorPassthroughPropertiesWithoutOnclickAndStyle(ResponseWriter writer,
490             long commonPropertiesMarked, UIComponent component)
491     throws IOException
492     {
493         renderAnchorProperties(writer, commonPropertiesMarked, component);
494         renderUniversalProperties(writer, commonPropertiesMarked, component);
495         renderEventPropertiesWithoutOnclick(writer, commonPropertiesMarked, component);
496         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
497     }
498 
499     public static void renderButtonPassthroughPropertiesWithoutDisabledAndEvents(ResponseWriter writer,
500             long commonPropertiesMarked, UIComponent component)
501     throws IOException
502     {
503         renderUniversalProperties(writer, commonPropertiesMarked, component);
504         renderStyleProperties(writer, commonPropertiesMarked, component);
505         renderAccesskeyTabindexProperties(writer, commonPropertiesMarked, component);
506         renderAltAlignProperties(writer, commonPropertiesMarked, component);
507     }
508 
509     public static void renderLabelProperties(ResponseWriter writer,
510             long commonPropertiesMarked, UIComponent component) 
511     throws IOException
512     {
513         renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
514         if ((commonPropertiesMarked & CommonPropertyConstants.ACCESSKEY_PROP) != 0)
515         {
516             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
517                     HTML.ACCESSKEY_ATTR, HTML.ACCESSKEY_ATTR);
518         }
519     }
520 
521     
522     public static void renderLabelPassthroughProperties(ResponseWriter writer,
523             long commonPropertiesMarked, UIComponent component) 
524     throws IOException
525     {
526         renderLabelProperties(writer, commonPropertiesMarked, component);
527         renderCommonPassthroughProperties(writer, commonPropertiesMarked, component);
528     }
529 
530     public static void renderLabelPassthroughPropertiesWithoutEvents(ResponseWriter writer,
531             long commonPropertiesMarked, UIComponent component) 
532     throws IOException
533     {
534         if ((commonPropertiesMarked & CommonPropertyConstants.ACCESSKEY_PROP) != 0)
535         {
536             HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
537                     HTML.ACCESSKEY_ATTR, HTML.ACCESSKEY_ATTR);
538         }
539         renderCommonPassthroughPropertiesWithoutEvents(writer, commonPropertiesMarked, component);
540     }
541     
542     public static void renderSelectPassthroughPropertiesWithoutDisabled(ResponseWriter writer,
543             long commonPropertiesMarked, UIComponent component)
544             throws IOException
545     {
546         renderCommonFieldPassthroughPropertiesWithoutDisabled(writer, commonPropertiesMarked, component);
547     }
548     
549     public static void renderSelectPassthroughPropertiesWithoutDisabledAndEvents(ResponseWriter writer,
550             long commonPropertiesMarked, UIComponent component)
551             throws IOException
552     {
553         renderCommonFieldPassthroughPropertiesWithoutDisabledAndEvents(writer, commonPropertiesMarked, component);
554     }
555 }