001    // ---------- Attention: Generated code, please do not modify! -----------  
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more
005     * contributor license agreements.  See the NOTICE file distributed with
006     * this work for additional information regarding copyright ownership.
007     * The ASF licenses this file to You under the Apache License, Version 2.0
008     * (the "License"); you may not use this file except in compliance with
009     * the License.  You may obtain a copy of the License at
010     *
011     *      http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing, software
014     * distributed under the License is distributed on an "AS IS" BASIS,
015     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     * See the License for the specific language governing permissions and
017     * limitations under the License.
018     */
019    
020    package org.apache.myfaces.tobago.component;
021    
022    import javax.faces.context.FacesContext;
023    import org.apache.myfaces.tobago.context.Markup;
024    import org.apache.myfaces.tobago.internal.component.AbstractUIImage;
025    import org.apache.myfaces.tobago.layout.Display;
026    import org.apache.myfaces.tobago.layout.Measure;
027    import org.apache.commons.lang.ArrayUtils;
028    import org.apache.commons.lang.StringUtils;
029    import org.apache.myfaces.tobago.component.MethodBindingToMethodExpression;
030    import org.apache.myfaces.tobago.component.MethodExpressionToMethodBinding;
031    import org.apache.myfaces.tobago.internal.util.Deprecation;
032    import org.apache.myfaces.tobago.renderkit.MarginValues;
033    import org.apache.myfaces.tobago.renderkit.SpacingValues;
034    import org.apache.myfaces.tobago.renderkit.LayoutComponentRenderer;
035    import javax.el.ELException;
036    import javax.faces.FacesException;
037    import java.util.ArrayList;
038    import java.util.List;
039    import javax.el.MethodExpression;
040    import javax.el.ValueExpression;
041    
042    /** 
043     Renders an image beside a tree node.
044      * UIComponent class, generated from template {@code component1.2.stg} with class
045      * {@link org.apache.myfaces.tobago.internal.taglib.component.TreeIconTagDeclaration}.
046     */
047    public class UITreeIcon
048        extends AbstractUIImage implements SupportsMarkup {
049    
050      public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.TreeIcon";
051    
052      private org.apache.myfaces.tobago.context.Markup markup;
053      private org.apache.myfaces.tobago.layout.Measure marginLeft;
054      private org.apache.myfaces.tobago.layout.Measure minimumHeight;
055      private java.lang.String tip;
056      private org.apache.myfaces.tobago.layout.Measure height;
057      private org.apache.myfaces.tobago.layout.Measure minimumWidth;
058      private java.lang.Integer rowSpan;
059      private org.apache.myfaces.tobago.layout.Measure left;
060      private java.lang.Integer columnSpan;
061      private org.apache.myfaces.tobago.layout.Measure maximumHeight;
062      private org.apache.myfaces.tobago.layout.Measure top;
063      private org.apache.myfaces.tobago.layout.Measure currentWidth;
064      private org.apache.myfaces.tobago.layout.Measure marginTop;
065      private org.apache.myfaces.tobago.layout.Measure marginRight;
066      private org.apache.myfaces.tobago.layout.Measure width;
067      private org.apache.myfaces.tobago.layout.Measure currentHeight;
068      private org.apache.myfaces.tobago.layout.Measure preferredHeight;
069      private org.apache.myfaces.tobago.layout.Display display;
070      private org.apache.myfaces.tobago.layout.Measure maximumWidth;
071      private org.apache.myfaces.tobago.layout.Measure preferredWidth;
072      private org.apache.myfaces.tobago.layout.Measure marginBottom;
073      private java.lang.Integer verticalIndex;
074      private org.apache.myfaces.tobago.context.Markup currentMarkup;
075      private java.lang.Integer horizontalIndex;
076      private java.lang.Boolean disabled;
077    
078    
079      public org.apache.myfaces.tobago.context.Markup getMarkup() {
080        if (markup != null) {
081          return markup;
082        }
083        ValueExpression ve = getValueExpression("markup");
084        if (ve != null) {
085          try {
086            Object object = ve.getValue(getFacesContext().getELContext());
087            return Markup.valueOf(object);
088          } catch (ELException e) {
089                      throw new FacesException(e);
090              }
091        }
092        return null;
093      }
094    
095      public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
096        this.markup = markup;
097      }
098    
099      public org.apache.myfaces.tobago.layout.Measure getMarginLeft() {
100        if (marginLeft != null) {
101          return marginLeft;
102        }
103        ValueExpression ve = getValueExpression("marginLeft");
104        if (ve != null) {
105          try {
106            Object object = ve.getValue(getFacesContext().getELContext());
107            return Measure.valueOf(object);
108          } catch (ELException e) {
109                      throw new FacesException(e);
110              }
111        }
112        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginLeft(getFacesContext(), this);
113      }
114    
115      public void setMarginLeft(org.apache.myfaces.tobago.layout.Measure marginLeft) {
116        this.marginLeft = marginLeft;
117      }
118    
119      public org.apache.myfaces.tobago.layout.Measure getMinimumHeight() {
120        if (minimumHeight != null) {
121          return minimumHeight;
122        }
123        ValueExpression ve = getValueExpression("minimumHeight");
124        if (ve != null) {
125          try {
126            Object object = ve.getValue(getFacesContext().getELContext());
127            return Measure.valueOf(object);
128          } catch (ELException e) {
129                      throw new FacesException(e);
130              }
131        }
132        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMinimumHeight(getFacesContext(), this);
133      }
134    
135      public void setMinimumHeight(org.apache.myfaces.tobago.layout.Measure minimumHeight) {
136        this.minimumHeight = minimumHeight;
137      }
138    
139      /**
140      Text value to display as tooltip.
141    
142      */
143      public java.lang.String getTip() {
144        if (tip != null) {
145          return tip;
146        }
147        ValueExpression ve = getValueExpression("tip");
148        if (ve != null) {
149          try {
150            return (java.lang.String) ve.getValue(getFacesContext().getELContext());
151          } catch (ELException e) {
152                      throw new FacesException(e);
153              }
154        }
155        return null;
156      }
157    
158      public void setTip(java.lang.String tip) {
159        this.tip = tip;
160      }
161    
162      /**
163      This value will usually be set by the layout manager.
164    
165      */
166      public org.apache.myfaces.tobago.layout.Measure getHeight() {
167        if (height != null) {
168          return height;
169        }
170        ValueExpression ve = getValueExpression("height");
171        if (ve != null) {
172          try {
173            Object object = ve.getValue(getFacesContext().getELContext());
174            return Measure.valueOf(object);
175          } catch (ELException e) {
176                      throw new FacesException(e);
177              }
178        }
179        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getHeight(getFacesContext(), this);
180      }
181    
182      public void setHeight(org.apache.myfaces.tobago.layout.Measure height) {
183        this.height = height;
184      }
185    
186      public org.apache.myfaces.tobago.layout.Measure getMinimumWidth() {
187        if (minimumWidth != null) {
188          return minimumWidth;
189        }
190        ValueExpression ve = getValueExpression("minimumWidth");
191        if (ve != null) {
192          try {
193            Object object = ve.getValue(getFacesContext().getELContext());
194            return Measure.valueOf(object);
195          } catch (ELException e) {
196                      throw new FacesException(e);
197              }
198        }
199        return ((LayoutComponentRenderer)getRenderer(getFacesContext())).getMinimumWidth(getFacesContext(), this);
200      }
201    
202      public void setMinimumWidth(org.apache.myfaces.tobago.layout.Measure minimumWidth) {
203        this.minimumWidth = minimumWidth;
204      }
205    
206      public java.lang.Integer getRowSpan() {
207        if (rowSpan != null) {
208          return rowSpan;
209        }
210        ValueExpression ve = getValueExpression("rowSpan");
211        if (ve != null) {
212          try {
213            Number number = (Number) ve.getValue(getFacesContext().getELContext());
214            if (number != null) {
215              return number.intValue();
216            }
217          } catch (ELException e) {
218                      throw new FacesException(e);
219              }
220        }
221        return 1;
222      }
223    
224      public void setRowSpan(java.lang.Integer rowSpan) {
225        this.rowSpan = rowSpan;
226      }
227    
228      /**
229      This value will usually be set by the layout manager.
230    
231      */
232      public org.apache.myfaces.tobago.layout.Measure getLeft() {
233        if (left != null) {
234          return left;
235        }
236        ValueExpression ve = getValueExpression("left");
237        if (ve != null) {
238          try {
239            Object object = ve.getValue(getFacesContext().getELContext());
240            return Measure.valueOf(object);
241          } catch (ELException e) {
242                      throw new FacesException(e);
243              }
244        }
245        return null;
246      }
247    
248      public void setLeft(org.apache.myfaces.tobago.layout.Measure left) {
249        this.left = left;
250      }
251    
252      public java.lang.Integer getColumnSpan() {
253        if (columnSpan != null) {
254          return columnSpan;
255        }
256        ValueExpression ve = getValueExpression("columnSpan");
257        if (ve != null) {
258          try {
259            Number number = (Number) ve.getValue(getFacesContext().getELContext());
260            if (number != null) {
261              return number.intValue();
262            }
263          } catch (ELException e) {
264                      throw new FacesException(e);
265              }
266        }
267        return 1;
268      }
269    
270      public void setColumnSpan(java.lang.Integer columnSpan) {
271        this.columnSpan = columnSpan;
272      }
273    
274      public org.apache.myfaces.tobago.layout.Measure getMaximumHeight() {
275        if (maximumHeight != null) {
276          return maximumHeight;
277        }
278        ValueExpression ve = getValueExpression("maximumHeight");
279        if (ve != null) {
280          try {
281            Object object = ve.getValue(getFacesContext().getELContext());
282            return Measure.valueOf(object);
283          } catch (ELException e) {
284                      throw new FacesException(e);
285              }
286        }
287        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMaximumHeight(getFacesContext(), this);
288      }
289    
290      public void setMaximumHeight(org.apache.myfaces.tobago.layout.Measure maximumHeight) {
291        this.maximumHeight = maximumHeight;
292      }
293    
294      /**
295      This value will usually be set by the layout manager.
296    
297      */
298      public org.apache.myfaces.tobago.layout.Measure getTop() {
299        if (top != null) {
300          return top;
301        }
302        ValueExpression ve = getValueExpression("top");
303        if (ve != null) {
304          try {
305            Object object = ve.getValue(getFacesContext().getELContext());
306            return Measure.valueOf(object);
307          } catch (ELException e) {
308                      throw new FacesException(e);
309              }
310        }
311        return null;
312      }
313    
314      public void setTop(org.apache.myfaces.tobago.layout.Measure top) {
315        this.top = top;
316      }
317    
318      /**
319      This value will usually be set by the layout manager. It holds the current width computed by the layout manager.
320    
321      */
322      public org.apache.myfaces.tobago.layout.Measure getCurrentWidth() {
323        if (currentWidth != null) {
324          return currentWidth;
325        }
326        ValueExpression ve = getValueExpression("currentWidth");
327        if (ve != null) {
328          try {
329            Object object = ve.getValue(getFacesContext().getELContext());
330            return Measure.valueOf(object);
331          } catch (ELException e) {
332                      throw new FacesException(e);
333              }
334        }
335        return getWidth();
336      }
337    
338      public void setCurrentWidth(org.apache.myfaces.tobago.layout.Measure currentWidth) {
339        this.currentWidth = currentWidth;
340      }
341    
342      public org.apache.myfaces.tobago.layout.Measure getMarginTop() {
343        if (marginTop != null) {
344          return marginTop;
345        }
346        ValueExpression ve = getValueExpression("marginTop");
347        if (ve != null) {
348          try {
349            Object object = ve.getValue(getFacesContext().getELContext());
350            return Measure.valueOf(object);
351          } catch (ELException e) {
352                      throw new FacesException(e);
353              }
354        }
355        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginTop(getFacesContext(), this);
356      }
357    
358      public void setMarginTop(org.apache.myfaces.tobago.layout.Measure marginTop) {
359        this.marginTop = marginTop;
360      }
361    
362      public org.apache.myfaces.tobago.layout.Measure getMarginRight() {
363        if (marginRight != null) {
364          return marginRight;
365        }
366        ValueExpression ve = getValueExpression("marginRight");
367        if (ve != null) {
368          try {
369            Object object = ve.getValue(getFacesContext().getELContext());
370            return Measure.valueOf(object);
371          } catch (ELException e) {
372                      throw new FacesException(e);
373              }
374        }
375        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginRight(getFacesContext(), this);
376      }
377    
378      public void setMarginRight(org.apache.myfaces.tobago.layout.Measure marginRight) {
379        this.marginRight = marginRight;
380      }
381    
382      /**
383      This value will usually be set by the layout manager.
384    
385      */
386      public org.apache.myfaces.tobago.layout.Measure getWidth() {
387        if (width != null) {
388          return width;
389        }
390        ValueExpression ve = getValueExpression("width");
391        if (ve != null) {
392          try {
393            Object object = ve.getValue(getFacesContext().getELContext());
394            return Measure.valueOf(object);
395          } catch (ELException e) {
396                      throw new FacesException(e);
397              }
398        }
399        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getWidth(getFacesContext(), this);
400      }
401    
402      public void setWidth(org.apache.myfaces.tobago.layout.Measure width) {
403        this.width = width;
404      }
405    
406      /**
407      This value will usually be set by the layout manager. It holds the current height computed by the layout manager.
408    
409      */
410      public org.apache.myfaces.tobago.layout.Measure getCurrentHeight() {
411        if (currentHeight != null) {
412          return currentHeight;
413        }
414        ValueExpression ve = getValueExpression("currentHeight");
415        if (ve != null) {
416          try {
417            Object object = ve.getValue(getFacesContext().getELContext());
418            return Measure.valueOf(object);
419          } catch (ELException e) {
420                      throw new FacesException(e);
421              }
422        }
423        return getHeight();
424      }
425    
426      public void setCurrentHeight(org.apache.myfaces.tobago.layout.Measure currentHeight) {
427        this.currentHeight = currentHeight;
428      }
429    
430      public org.apache.myfaces.tobago.layout.Measure getPreferredHeight() {
431        if (preferredHeight != null) {
432          return preferredHeight;
433        }
434        ValueExpression ve = getValueExpression("preferredHeight");
435        if (ve != null) {
436          try {
437            Object object = ve.getValue(getFacesContext().getELContext());
438            return Measure.valueOf(object);
439          } catch (ELException e) {
440                      throw new FacesException(e);
441              }
442        }
443        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getPreferredHeight(getFacesContext(), this);
444      }
445    
446      public void setPreferredHeight(org.apache.myfaces.tobago.layout.Measure preferredHeight) {
447        this.preferredHeight = preferredHeight;
448      }
449    
450      /**
451      This attribute is for internal use only.
452    
453      */
454      public org.apache.myfaces.tobago.layout.Display getDisplay() {
455        if (display != null) {
456          return display;
457        }
458        ValueExpression ve = getValueExpression("display");
459        if (ve != null) {
460          try {
461            return (org.apache.myfaces.tobago.layout.Display) ve.getValue(getFacesContext().getELContext());
462          } catch (ELException e) {
463                      throw new FacesException(e);
464              }
465        }
466        return null;
467      }
468    
469      public void setDisplay(org.apache.myfaces.tobago.layout.Display display) {
470        this.display = display;
471      }
472    
473      public org.apache.myfaces.tobago.layout.Measure getMaximumWidth() {
474        if (maximumWidth != null) {
475          return maximumWidth;
476        }
477        ValueExpression ve = getValueExpression("maximumWidth");
478        if (ve != null) {
479          try {
480            Object object = ve.getValue(getFacesContext().getELContext());
481            return Measure.valueOf(object);
482          } catch (ELException e) {
483                      throw new FacesException(e);
484              }
485        }
486        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMaximumWidth(getFacesContext(), this);
487      }
488    
489      public void setMaximumWidth(org.apache.myfaces.tobago.layout.Measure maximumWidth) {
490        this.maximumWidth = maximumWidth;
491      }
492    
493      public org.apache.myfaces.tobago.layout.Measure getPreferredWidth() {
494        if (preferredWidth != null) {
495          return preferredWidth;
496        }
497        ValueExpression ve = getValueExpression("preferredWidth");
498        if (ve != null) {
499          try {
500            Object object = ve.getValue(getFacesContext().getELContext());
501            return Measure.valueOf(object);
502          } catch (ELException e) {
503                      throw new FacesException(e);
504              }
505        }
506        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getPreferredWidth(getFacesContext(), this);
507      }
508    
509      public void setPreferredWidth(org.apache.myfaces.tobago.layout.Measure preferredWidth) {
510        this.preferredWidth = preferredWidth;
511      }
512    
513      public org.apache.myfaces.tobago.layout.Measure getMarginBottom() {
514        if (marginBottom != null) {
515          return marginBottom;
516        }
517        ValueExpression ve = getValueExpression("marginBottom");
518        if (ve != null) {
519          try {
520            Object object = ve.getValue(getFacesContext().getELContext());
521            return Measure.valueOf(object);
522          } catch (ELException e) {
523                      throw new FacesException(e);
524              }
525        }
526        return ((LayoutComponentRenderer) getRenderer(getFacesContext())).getMarginBottom(getFacesContext(), this);
527      }
528    
529      public void setMarginBottom(org.apache.myfaces.tobago.layout.Measure marginBottom) {
530        this.marginBottom = marginBottom;
531      }
532    
533      /**
534      This attribute is for internal use only.
535    
536      */
537      public java.lang.Integer getVerticalIndex() {
538        if (verticalIndex != null) {
539          return verticalIndex;
540        }
541        ValueExpression ve = getValueExpression("verticalIndex");
542        if (ve != null) {
543          try {
544            Number number = (Number) ve.getValue(getFacesContext().getELContext());
545            if (number != null) {
546              return number.intValue();
547            }
548          } catch (ELException e) {
549                      throw new FacesException(e);
550              }
551        }
552        return null;
553      }
554    
555      public void setVerticalIndex(java.lang.Integer verticalIndex) {
556        this.verticalIndex = verticalIndex;
557      }
558    
559      public org.apache.myfaces.tobago.context.Markup getCurrentMarkup() {
560        if (currentMarkup != null) {
561          return currentMarkup;
562        }
563        return null;
564      }
565    
566      public void setCurrentMarkup(org.apache.myfaces.tobago.context.Markup currentMarkup) {
567        this.currentMarkup = currentMarkup;
568      }
569    
570      /**
571      This attribute is for internal use only.
572    
573      */
574      public java.lang.Integer getHorizontalIndex() {
575        if (horizontalIndex != null) {
576          return horizontalIndex;
577        }
578        ValueExpression ve = getValueExpression("horizontalIndex");
579        if (ve != null) {
580          try {
581            Number number = (Number) ve.getValue(getFacesContext().getELContext());
582            if (number != null) {
583              return number.intValue();
584            }
585          } catch (ELException e) {
586                      throw new FacesException(e);
587              }
588        }
589        return null;
590      }
591    
592      public void setHorizontalIndex(java.lang.Integer horizontalIndex) {
593        this.horizontalIndex = horizontalIndex;
594      }
595    
596      /**
597      Flag indicating that this element is disabled.
598      <br />Default: <code>false</code>
599      */
600      public boolean isDisabled() {
601        if (disabled != null) {
602          return disabled;
603        }
604        ValueExpression ve = getValueExpression("disabled");
605        if (ve != null) {
606          try {
607            Boolean bool = (Boolean) ve.getValue(getFacesContext().getELContext());
608            if (bool != null) {
609              return bool;
610            }
611          } catch (ELException e) {
612                      throw new FacesException(e);
613              }
614        }
615        return false;
616      }
617    
618      public void setDisabled(boolean disabled) {
619        this.disabled = disabled;
620      }
621    
622      public void restoreState(FacesContext context, Object componentState) {
623        Object[] values = (Object[]) componentState;
624        super.restoreState(context, values[0]);
625        markup = (org.apache.myfaces.tobago.context.Markup) values[1];
626        marginLeft = (org.apache.myfaces.tobago.layout.Measure) values[2];
627        minimumHeight = (org.apache.myfaces.tobago.layout.Measure) values[3];
628        tip = (java.lang.String) values[4];
629        height = (org.apache.myfaces.tobago.layout.Measure) values[5];
630        minimumWidth = (org.apache.myfaces.tobago.layout.Measure) values[6];
631        rowSpan = (java.lang.Integer) values[7];
632        left = (org.apache.myfaces.tobago.layout.Measure) values[8];
633        columnSpan = (java.lang.Integer) values[9];
634        maximumHeight = (org.apache.myfaces.tobago.layout.Measure) values[10];
635        top = (org.apache.myfaces.tobago.layout.Measure) values[11];
636        currentWidth = (org.apache.myfaces.tobago.layout.Measure) values[12];
637        marginTop = (org.apache.myfaces.tobago.layout.Measure) values[13];
638        marginRight = (org.apache.myfaces.tobago.layout.Measure) values[14];
639        width = (org.apache.myfaces.tobago.layout.Measure) values[15];
640        currentHeight = (org.apache.myfaces.tobago.layout.Measure) values[16];
641        preferredHeight = (org.apache.myfaces.tobago.layout.Measure) values[17];
642        display = (org.apache.myfaces.tobago.layout.Display) values[18];
643        maximumWidth = (org.apache.myfaces.tobago.layout.Measure) values[19];
644        preferredWidth = (org.apache.myfaces.tobago.layout.Measure) values[20];
645        marginBottom = (org.apache.myfaces.tobago.layout.Measure) values[21];
646        verticalIndex = (java.lang.Integer) values[22];
647        horizontalIndex = (java.lang.Integer) values[23];
648        disabled = (java.lang.Boolean) values[24];
649      }
650    
651      public Object saveState(FacesContext context) {
652        Object[] values = new Object[25];
653        values[0] = super.saveState(context);
654        values[1] = markup;
655        values[2] = marginLeft;
656        values[3] = minimumHeight;
657        values[4] = tip;
658        values[5] = height;
659        values[6] = minimumWidth;
660        values[7] = rowSpan;
661        values[8] = left;
662        values[9] = columnSpan;
663        values[10] = maximumHeight;
664        values[11] = top;
665        values[12] = currentWidth;
666        values[13] = marginTop;
667        values[14] = marginRight;
668        values[15] = width;
669        values[16] = currentHeight;
670        values[17] = preferredHeight;
671        values[18] = display;
672        values[19] = maximumWidth;
673        values[20] = preferredWidth;
674        values[21] = marginBottom;
675        values[22] = verticalIndex;
676        values[23] = horizontalIndex;
677        values[24] = disabled;
678        currentMarkup = null;
679        return values;
680      }
681    
682    
683    }