View Javadoc

1   // ---------- Attention: Generated code, please do not modify! -----------  
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  package org.apache.myfaces.tobago.component;
21  
22  import javax.faces.context.FacesContext;
23  import org.apache.myfaces.tobago.context.Markup;
24  import org.apache.myfaces.tobago.internal.component.AbstractUICommand;
25  import org.apache.myfaces.tobago.layout.Display;
26  import org.apache.myfaces.tobago.layout.Measure;
27  import org.apache.myfaces.tobago.internal.util.ArrayUtils;
28  import org.apache.myfaces.tobago.internal.util.StringUtils;
29  import org.apache.myfaces.tobago.internal.util.Deprecation;
30  import org.apache.myfaces.tobago.renderkit.MarginValues;
31  import org.apache.myfaces.tobago.renderkit.SpacingValues;
32  import org.apache.myfaces.tobago.renderkit.LayoutComponentRenderer;
33  import javax.el.ELException;
34  import javax.faces.FacesException;
35  import java.util.ArrayList;
36  import java.util.List;
37  import javax.el.MethodExpression;
38  import javax.el.ValueExpression;
39  
40  /** 
41   Renders a button element.
42    * UIComponent class, generated from template {@code component2.0.stg} with class
43    * {@link org.apache.myfaces.tobago.internal.taglib.component.ButtonTagDeclaration}.
44   */
45  public class UIButton
46      extends AbstractUICommand implements SupportsMarkup {
47  
48    public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.Button";
49  
50    public static final String COMPONENT_FAMILY = "javax.faces.Command";
51  
52    private org.apache.myfaces.tobago.context.Markup currentMarkup;
53  
54    enum PropertyKeys {
55      accessKey,
56      markup,
57      marginLeft,
58      link,
59      labelWithAccessKey,
60      defaultCommand,
61      tabIndex,
62      minimumHeight,
63      tip,
64      height,
65      minimumWidth,
66      inline,
67      rowSpan,
68      left,
69      columnSpan,
70      top,
71      maximumHeight,
72      currentWidth,
73      marginTop,
74      width,
75      marginRight,
76      preferredHeight,
77      jsfResource,
78      resource,
79      currentHeight,
80      transition,
81      image,
82      display,
83      label,
84      maximumWidth,
85      preferredWidth,
86      marginBottom,
87      verticalIndex,
88      omit,
89      renderedPartially,
90      target,
91      onclick,
92      horizontalIndex,
93      disabled,
94    }
95  
96    public String getFamily() {
97      return COMPONENT_FAMILY;
98    }
99  
100 
101   /**
102   Deprecated! Has not longer any function.
103 
104   @deprecated*/
105   @Deprecated
106   public java.lang.Character getAccessKey() {
107     return (java.lang.Character) getStateHelper().eval(PropertyKeys.accessKey);
108   }
109 
110   @Deprecated
111   public void setAccessKey(java.lang.Character accessKey) {
112       Deprecation.LOG.error("The attribute 'accessKey' of 'UIButton' is deprecated. "
113           + "Please refer the documentation for further information.");
114     getStateHelper().put(PropertyKeys.accessKey, accessKey);
115   }
116 
117   public org.apache.myfaces.tobago.context.Markup getMarkup() {
118     Object object = getStateHelper().eval(PropertyKeys.markup);
119     if (object != null) {
120       return Markup.valueOf(object);
121     }
122     return null;
123   }
124 
125   public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
126     getStateHelper().put(PropertyKeys.markup, markup);
127   }
128 
129   public org.apache.myfaces.tobago.layout.Measure getMarginLeft() {
130     Object object = getStateHelper().eval(PropertyKeys.marginLeft);
131     if (object != null) {
132        return Measure.valueOf(object);
133     }
134     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginLeft(getFacesContext(), this) : Measure.ZERO;
135   }
136 
137   public void setMarginLeft(org.apache.myfaces.tobago.layout.Measure marginLeft) {
138     getStateHelper().put(PropertyKeys.marginLeft, marginLeft);
139   }
140 
141   /**
142   Link to an arbitrary URL, either an internal link or an external link.
143 
144    <dl>
145      <dt>internal absolute link</dt>
146      <dd>Starts with a slash '/' character. The context path will be added.
147          A session id will be added, if needed.</dd>
148      <dt>external link</dt>
149      <dd>Contains a colon ':' character.
150          The link will not be modified.</dd>
151      <dt>internal relative link</dt>
152      <dd>Any other strings. A session id will be added, if needed.</dd>
153    </dl>
154 
155   */
156   public java.lang.String getLink() {
157     return (java.lang.String) getStateHelper().eval(PropertyKeys.link);
158   }
159 
160   public void setLink(java.lang.String link) {
161     getStateHelper().put(PropertyKeys.link, link);
162   }
163 
164   /**
165   Deprecated! Use 'label' instead.
166    Text value to display as label.
167    If text contains an underscore the next character overwrites 'accesskey'.
168 
169   @deprecated*/
170   @Deprecated
171   public java.lang.String getLabelWithAccessKey() {
172     return (java.lang.String) getStateHelper().eval(PropertyKeys.labelWithAccessKey);
173   }
174 
175   @Deprecated
176   public void setLabelWithAccessKey(java.lang.String labelWithAccessKey) {
177       Deprecation.LOG.error("The attribute 'labelWithAccessKey' of 'UIButton' is deprecated. "
178           + "Please refer the documentation for further information.");
179     getStateHelper().put(PropertyKeys.labelWithAccessKey, labelWithAccessKey);
180   }
181 
182   /**
183   If true the command is executed as default -- for example if the
184    user presses the enter key inside a related input field.
185   <br />Default: <code>false</code>
186   */
187   public boolean isDefaultCommand() {
188     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.defaultCommand);
189     if (bool != null) {
190       return bool;
191     }
192     return false;
193   }
194 
195   public void setDefaultCommand(boolean defaultCommand) {
196     getStateHelper().put(PropertyKeys.defaultCommand, defaultCommand);
197   }
198 
199   /**
200   Controls the navigation of the focus through the
201    input controls on a page with the Tab-Key.
202    The navigation starts from the element with
203    the lowest tabIndex value to the element with the highest value.
204    Elements that have identical tabIndex values should be navigated
205    in the order they appear in the character stream
206    Elements that are disabled or with a negative tabIndex
207    do not participate in the tabbing order.
208 
209   */
210   public java.lang.Integer getTabIndex() {
211     Number value  = (Number) getStateHelper().eval(PropertyKeys.tabIndex);
212     if (value != null) {
213       return value.intValue();
214     }
215     return null;
216   }
217 
218   public void setTabIndex(java.lang.Integer tabIndex) {
219     getStateHelper().put(PropertyKeys.tabIndex, tabIndex);
220   }
221 
222   public org.apache.myfaces.tobago.layout.Measure getMinimumHeight() {
223     Object object = getStateHelper().eval(PropertyKeys.minimumHeight);
224     if (object != null) {
225        return Measure.valueOf(object);
226     }
227     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMinimumHeight(getFacesContext(), this) : Measure.ZERO;
228   }
229 
230   public void setMinimumHeight(org.apache.myfaces.tobago.layout.Measure minimumHeight) {
231     getStateHelper().put(PropertyKeys.minimumHeight, minimumHeight);
232   }
233 
234   /**
235   Text value to display as tooltip.
236 
237   */
238   public java.lang.String getTip() {
239     return (java.lang.String) getStateHelper().eval(PropertyKeys.tip);
240   }
241 
242   public void setTip(java.lang.String tip) {
243     getStateHelper().put(PropertyKeys.tip, tip);
244   }
245 
246   /**
247   This value will usually be set by the layout manager.
248 
249   */
250   public org.apache.myfaces.tobago.layout.Measure getHeight() {
251     Object object = getStateHelper().eval(PropertyKeys.height);
252     if (object != null) {
253        return Measure.valueOf(object);
254     }
255     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getHeight(getFacesContext(), this) : Measure.ZERO;
256   }
257 
258   public void setHeight(org.apache.myfaces.tobago.layout.Measure height) {
259     getStateHelper().put(PropertyKeys.height, height);
260   }
261 
262   public org.apache.myfaces.tobago.layout.Measure getMinimumWidth() {
263     Object object = getStateHelper().eval(PropertyKeys.minimumWidth);
264     if (object != null) {
265        return Measure.valueOf(object);
266     }
267     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMinimumWidth(getFacesContext(), this) : Measure.ZERO;
268   }
269 
270   public void setMinimumWidth(org.apache.myfaces.tobago.layout.Measure minimumWidth) {
271     getStateHelper().put(PropertyKeys.minimumWidth, minimumWidth);
272   }
273 
274   /**
275   Flag indicating this component should rendered as an inline element.
276   <br />Default: <code>false</code>
277   @deprecated*/
278   @Deprecated
279   public boolean isInline() {
280     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.inline);
281     if (bool != null) {
282       return bool;
283     }
284     return false;
285   }
286 
287   @Deprecated
288   public void setInline(boolean inline) {
289       Deprecation.LOG.error("The attribute 'inline' of 'UIButton' is deprecated. "
290           + "Please refer the documentation for further information.");
291     getStateHelper().put(PropertyKeys.inline, inline);
292   }
293 
294   public java.lang.Integer getRowSpan() {
295     Number value  = (Number) getStateHelper().eval(PropertyKeys.rowSpan);
296     if (value != null) {
297       return value.intValue();
298     }
299     return 1;
300   }
301 
302   public void setRowSpan(java.lang.Integer rowSpan) {
303     getStateHelper().put(PropertyKeys.rowSpan, rowSpan);
304   }
305 
306   /**
307   This value will usually be set by the layout manager.
308 
309   */
310   public org.apache.myfaces.tobago.layout.Measure getLeft() {
311     Object object = getStateHelper().eval(PropertyKeys.left);
312     if (object != null) {
313        return Measure.valueOf(object);
314     }
315     return null;
316   }
317 
318   public void setLeft(org.apache.myfaces.tobago.layout.Measure left) {
319     getStateHelper().put(PropertyKeys.left, left);
320   }
321 
322   public java.lang.Integer getColumnSpan() {
323     Number value  = (Number) getStateHelper().eval(PropertyKeys.columnSpan);
324     if (value != null) {
325       return value.intValue();
326     }
327     return 1;
328   }
329 
330   public void setColumnSpan(java.lang.Integer columnSpan) {
331     getStateHelper().put(PropertyKeys.columnSpan, columnSpan);
332   }
333 
334   /**
335   This value will usually be set by the layout manager.
336 
337   */
338   public org.apache.myfaces.tobago.layout.Measure getTop() {
339     Object object = getStateHelper().eval(PropertyKeys.top);
340     if (object != null) {
341        return Measure.valueOf(object);
342     }
343     return null;
344   }
345 
346   public void setTop(org.apache.myfaces.tobago.layout.Measure top) {
347     getStateHelper().put(PropertyKeys.top, top);
348   }
349 
350   public org.apache.myfaces.tobago.layout.Measure getMaximumHeight() {
351     Object object = getStateHelper().eval(PropertyKeys.maximumHeight);
352     if (object != null) {
353        return Measure.valueOf(object);
354     }
355     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMaximumHeight(getFacesContext(), this) : Measure.ZERO;
356   }
357 
358   public void setMaximumHeight(org.apache.myfaces.tobago.layout.Measure maximumHeight) {
359     getStateHelper().put(PropertyKeys.maximumHeight, maximumHeight);
360   }
361 
362   /**
363   This value will usually be set by the layout manager. It holds the current width computed by the layout manager.
364 
365   */
366   public org.apache.myfaces.tobago.layout.Measure getCurrentWidth() {
367     Object object = getStateHelper().eval(PropertyKeys.currentWidth);
368     if (object != null) {
369        return Measure.valueOf(object);
370     }
371     return getWidth();
372   }
373 
374   public void setCurrentWidth(org.apache.myfaces.tobago.layout.Measure currentWidth) {
375     getStateHelper().put(PropertyKeys.currentWidth, currentWidth);
376   }
377 
378   public org.apache.myfaces.tobago.layout.Measure getMarginTop() {
379     Object object = getStateHelper().eval(PropertyKeys.marginTop);
380     if (object != null) {
381        return Measure.valueOf(object);
382     }
383     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginTop(getFacesContext(), this) : Measure.ZERO;
384   }
385 
386   public void setMarginTop(org.apache.myfaces.tobago.layout.Measure marginTop) {
387     getStateHelper().put(PropertyKeys.marginTop, marginTop);
388   }
389 
390   /**
391   This value will usually be set by the layout manager.
392 
393   */
394   public org.apache.myfaces.tobago.layout.Measure getWidth() {
395     Object object = getStateHelper().eval(PropertyKeys.width);
396     if (object != null) {
397        return Measure.valueOf(object);
398     }
399     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getWidth(getFacesContext(), this) : Measure.ZERO;
400   }
401 
402   public void setWidth(org.apache.myfaces.tobago.layout.Measure width) {
403     getStateHelper().put(PropertyKeys.width, width);
404   }
405 
406   public org.apache.myfaces.tobago.layout.Measure getMarginRight() {
407     Object object = getStateHelper().eval(PropertyKeys.marginRight);
408     if (object != null) {
409        return Measure.valueOf(object);
410     }
411     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginRight(getFacesContext(), this) : Measure.ZERO;
412   }
413 
414   public void setMarginRight(org.apache.myfaces.tobago.layout.Measure marginRight) {
415     getStateHelper().put(PropertyKeys.marginRight, marginRight);
416   }
417 
418   public org.apache.myfaces.tobago.layout.Measure getPreferredHeight() {
419     Object object = getStateHelper().eval(PropertyKeys.preferredHeight);
420     if (object != null) {
421        return Measure.valueOf(object);
422     }
423     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getPreferredHeight(getFacesContext(), this) : Measure.ZERO;
424   }
425 
426   public void setPreferredHeight(org.apache.myfaces.tobago.layout.Measure preferredHeight) {
427     getStateHelper().put(PropertyKeys.preferredHeight, preferredHeight);
428   }
429 
430   /**
431   Flag indicating that the resource referenced by the resource attribute is a jsf resource.
432    That means that the url has to be processed to change the prefix or suffix (e. g. *.jsf or
433    /faces/*). Default is false.
434   <br />Default: <code>false</code>
435   */
436   public boolean isJsfResource() {
437     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.jsfResource);
438     if (bool != null) {
439       return bool;
440     }
441     return false;
442   }
443 
444   public void setJsfResource(boolean jsfResource) {
445     getStateHelper().put(PropertyKeys.jsfResource, jsfResource);
446   }
447 
448   /**
449   Link to an internal resource.
450    Resources will be processed by the resource management.
451    E. g. define help.html and it will be served help_es.html or help_de.html if available.
452    For JSF-Pages you have to set the jsfResource attribute.
453 
454   */
455   public java.lang.String getResource() {
456     return (java.lang.String) getStateHelper().eval(PropertyKeys.resource);
457   }
458 
459   public void setResource(java.lang.String resource) {
460     getStateHelper().put(PropertyKeys.resource, resource);
461   }
462 
463   /**
464   This value will usually be set by the layout manager. It holds the current height computed by the layout manager.
465 
466   */
467   public org.apache.myfaces.tobago.layout.Measure getCurrentHeight() {
468     Object object = getStateHelper().eval(PropertyKeys.currentHeight);
469     if (object != null) {
470        return Measure.valueOf(object);
471     }
472     return getHeight();
473   }
474 
475   public void setCurrentHeight(org.apache.myfaces.tobago.layout.Measure currentHeight) {
476     getStateHelper().put(PropertyKeys.currentHeight, currentHeight);
477   }
478 
479   /**
480   Specify, if the command calls an JSF-Action.
481    Useful to switch off the Double-Submit-Check and Waiting-Behavior.
482   <br />Default: <code>true</code>
483   */
484   public boolean isTransition() {
485     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.transition);
486     if (bool != null) {
487       return bool;
488     }
489     return true;
490   }
491 
492   public void setTransition(boolean transition) {
493     getStateHelper().put(PropertyKeys.transition, transition);
494   }
495 
496   /**
497   Url to an image to display.
498 
499   */
500   public java.lang.String getImage() {
501     return (java.lang.String) getStateHelper().eval(PropertyKeys.image);
502   }
503 
504   public void setImage(java.lang.String image) {
505     getStateHelper().put(PropertyKeys.image, image);
506   }
507 
508   /**
509   This attribute is for internal use only.
510 
511   */
512   public org.apache.myfaces.tobago.layout.Display getDisplay() {
513     return (org.apache.myfaces.tobago.layout.Display) getStateHelper().eval(PropertyKeys.display);
514   }
515 
516   public void setDisplay(org.apache.myfaces.tobago.layout.Display display) {
517     getStateHelper().put(PropertyKeys.display, display);
518   }
519 
520   /**
521   Text value to display as label.
522    If text contains an underscore the next character is used as accesskey.
523 
524   */
525   public java.lang.String getLabel() {
526     return (java.lang.String) getStateHelper().eval(PropertyKeys.label);
527   }
528 
529   public void setLabel(java.lang.String label) {
530     getStateHelper().put(PropertyKeys.label, label);
531   }
532 
533   public org.apache.myfaces.tobago.layout.Measure getMaximumWidth() {
534     Object object = getStateHelper().eval(PropertyKeys.maximumWidth);
535     if (object != null) {
536        return Measure.valueOf(object);
537     }
538     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMaximumWidth(getFacesContext(), this) : Measure.ZERO;
539   }
540 
541   public void setMaximumWidth(org.apache.myfaces.tobago.layout.Measure maximumWidth) {
542     getStateHelper().put(PropertyKeys.maximumWidth, maximumWidth);
543   }
544 
545   public org.apache.myfaces.tobago.layout.Measure getPreferredWidth() {
546     Object object = getStateHelper().eval(PropertyKeys.preferredWidth);
547     if (object != null) {
548        return Measure.valueOf(object);
549     }
550     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getPreferredWidth(getFacesContext(), this) : Measure.ZERO;
551   }
552 
553   public void setPreferredWidth(org.apache.myfaces.tobago.layout.Measure preferredWidth) {
554     getStateHelper().put(PropertyKeys.preferredWidth, preferredWidth);
555   }
556 
557   public org.apache.myfaces.tobago.layout.Measure getMarginBottom() {
558     Object object = getStateHelper().eval(PropertyKeys.marginBottom);
559     if (object != null) {
560        return Measure.valueOf(object);
561     }
562     return getRendererType() != null ? ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginBottom(getFacesContext(), this) : Measure.ZERO;
563   }
564 
565   public void setMarginBottom(org.apache.myfaces.tobago.layout.Measure marginBottom) {
566     getStateHelper().put(PropertyKeys.marginBottom, marginBottom);
567   }
568 
569   /**
570   This attribute is for internal use only.
571 
572   */
573   public java.lang.Integer getVerticalIndex() {
574     Number value  = (Number) getStateHelper().eval(PropertyKeys.verticalIndex);
575     if (value != null) {
576       return value.intValue();
577     }
578     return null;
579   }
580 
581   public void setVerticalIndex(java.lang.Integer verticalIndex) {
582     getStateHelper().put(PropertyKeys.verticalIndex, verticalIndex);
583   }
584 
585   /**
586   Flag indicating that the action of this element, will not be executed from client side
587    (e. g. when the user clicks a button.
588    When setting this value to true, the action will not be executed by the Tobago, but it can executed
589    by JavaScript.
590    This attribute is useful, when you want to add JavaScript event handlers to commands manually.
591    In this case you usually don't want a submit with a full reload of the page.
592   <br />Default: <code>false</code>
593   */
594   public boolean isOmit() {
595     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.omit);
596     if (bool != null) {
597       return bool;
598     }
599     return false;
600   }
601 
602   public void setOmit(boolean omit) {
603     getStateHelper().put(PropertyKeys.omit, omit);
604   }
605 
606   /**
607   Indicate the partially rendered Components in a case of a submit.
608 
609   */
610   public String[] getRenderedPartially() {
611     Object strArray = getStateHelper().eval(PropertyKeys.renderedPartially);
612     if (strArray != null) {
613       if (strArray instanceof String[]) {
614         return (String[]) strArray;
615       } else if (strArray instanceof String) {
616         String[] strings = StringUtils.split((String) strArray, ", ");
617         List<String> result = new ArrayList<String>(strings.length);
618         for (String string : strings) {
619           if (string.trim().length() != 0) {
620             result.add(string.trim());
621           }
622         }
623         return result.toArray(new String[result.size()]);
624       } else if (strArray == null) {
625         return org.apache.myfaces.tobago.internal.util.ArrayUtils.EMPTY_STRING_ARRAY;
626       } else {
627         return new String[]{strArray.toString()};
628       }
629     }
630     return org.apache.myfaces.tobago.internal.util.ArrayUtils.EMPTY_STRING_ARRAY;
631   }
632 
633   public void setRenderedPartially(String[] renderedPartially) {
634     getStateHelper().put(PropertyKeys.renderedPartially, renderedPartially);
635   }
636 
637   /**
638   Name of a frame where the resource retrieved via this hyperlink is to be
639    displayed.
640 
641   */
642   public java.lang.String getTarget() {
643     return (java.lang.String) getStateHelper().eval(PropertyKeys.target);
644   }
645 
646   public void setTarget(java.lang.String target) {
647     getStateHelper().put(PropertyKeys.target, target);
648   }
649 
650   public org.apache.myfaces.tobago.context.Markup getCurrentMarkup() {
651     if (currentMarkup != null) {
652       return currentMarkup;
653     }
654     return null;
655   }
656 
657   public void setCurrentMarkup(org.apache.myfaces.tobago.context.Markup currentMarkup) {
658     this.currentMarkup = currentMarkup;
659   }
660 
661   /**
662   Script to be invoked when clicked
663 
664   */
665   public java.lang.String getOnclick() {
666     return (java.lang.String) getStateHelper().eval(PropertyKeys.onclick);
667   }
668 
669   public void setOnclick(java.lang.String onclick) {
670     getStateHelper().put(PropertyKeys.onclick, onclick);
671   }
672 
673   /**
674   This attribute is for internal use only.
675 
676   */
677   public java.lang.Integer getHorizontalIndex() {
678     Number value  = (Number) getStateHelper().eval(PropertyKeys.horizontalIndex);
679     if (value != null) {
680       return value.intValue();
681     }
682     return null;
683   }
684 
685   public void setHorizontalIndex(java.lang.Integer horizontalIndex) {
686     getStateHelper().put(PropertyKeys.horizontalIndex, horizontalIndex);
687   }
688 
689   /**
690   Flag indicating that this element is disabled.
691   <br />Default: <code>false</code>
692   */
693   public boolean isDisabled() {
694     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.disabled);
695     if (bool != null) {
696       return bool;
697     }
698     return false;
699   }
700 
701   public void setDisabled(boolean disabled) {
702     getStateHelper().put(PropertyKeys.disabled, disabled);
703   }
704 
705   public Object saveState(FacesContext context) {
706     currentMarkup = null;
707     return super.saveState(context);
708   }
709 
710 
711 }