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.AbstractUITreeSelect;
025 import org.apache.commons.lang.ArrayUtils;
026 import org.apache.commons.lang.StringUtils;
027 import org.apache.myfaces.tobago.component.MethodBindingToMethodExpression;
028 import org.apache.myfaces.tobago.component.MethodExpressionToMethodBinding;
029 import org.apache.myfaces.tobago.internal.util.Deprecation;
030 import org.apache.myfaces.tobago.renderkit.MarginValues;
031 import org.apache.myfaces.tobago.renderkit.SpacingValues;
032 import org.apache.myfaces.tobago.renderkit.LayoutComponentRenderer;
033 import javax.el.ELException;
034 import javax.faces.FacesException;
035 import java.util.ArrayList;
036 import java.util.List;
037 import javax.el.MethodExpression;
038 import javax.el.ValueExpression;
039
040 /**
041 Makes a tree node selectable.
042 * UIComponent class, generated from template {@code component1.2.stg} with class
043 * {@link org.apache.myfaces.tobago.internal.taglib.component.TreeSelectTagDeclaration}.
044 */
045 public class UITreeSelect
046 extends AbstractUITreeSelect implements SupportsMarkup {
047
048 public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.TreeSelect";
049
050 private org.apache.myfaces.tobago.context.Markup markup;
051 private org.apache.myfaces.tobago.context.Markup currentMarkup;
052 private java.lang.String label;
053 private java.lang.Boolean showCheckbox;
054 private java.lang.String tip;
055
056
057 public org.apache.myfaces.tobago.context.Markup getMarkup() {
058 if (markup != null) {
059 return markup;
060 }
061 ValueExpression ve = getValueExpression("markup");
062 if (ve != null) {
063 try {
064 Object object = ve.getValue(getFacesContext().getELContext());
065 return Markup.valueOf(object);
066 } catch (ELException e) {
067 throw new FacesException(e);
068 }
069 }
070 return null;
071 }
072
073 public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
074 this.markup = markup;
075 }
076
077 public org.apache.myfaces.tobago.context.Markup getCurrentMarkup() {
078 if (currentMarkup != null) {
079 return currentMarkup;
080 }
081 return null;
082 }
083
084 public void setCurrentMarkup(org.apache.myfaces.tobago.context.Markup currentMarkup) {
085 this.currentMarkup = currentMarkup;
086 }
087
088 /**
089 Text value to display as label.
090 If text contains an underscore the next character is used as accesskey.
091
092 */
093 public java.lang.String getLabel() {
094 if (label != null) {
095 return label;
096 }
097 ValueExpression ve = getValueExpression("label");
098 if (ve != null) {
099 try {
100 return (java.lang.String) ve.getValue(getFacesContext().getELContext());
101 } catch (ELException e) {
102 throw new FacesException(e);
103 }
104 }
105 return null;
106 }
107
108 public void setLabel(java.lang.String label) {
109 this.label = label;
110 }
111
112 /**
113 Show a checkbox to visualize the selection state.
114 <br />Default: <code>false</code>
115 */
116 public boolean isShowCheckbox() {
117 if (showCheckbox != null) {
118 return showCheckbox;
119 }
120 ValueExpression ve = getValueExpression("showCheckbox");
121 if (ve != null) {
122 try {
123 Boolean bool = (Boolean) ve.getValue(getFacesContext().getELContext());
124 if (bool != null) {
125 return bool;
126 }
127 } catch (ELException e) {
128 throw new FacesException(e);
129 }
130 }
131 return false;
132 }
133
134 public void setShowCheckbox(boolean showCheckbox) {
135 this.showCheckbox = showCheckbox;
136 }
137
138 /**
139 Text value to display as tooltip.
140
141 */
142 public java.lang.String getTip() {
143 if (tip != null) {
144 return tip;
145 }
146 ValueExpression ve = getValueExpression("tip");
147 if (ve != null) {
148 try {
149 return (java.lang.String) ve.getValue(getFacesContext().getELContext());
150 } catch (ELException e) {
151 throw new FacesException(e);
152 }
153 }
154 return null;
155 }
156
157 public void setTip(java.lang.String tip) {
158 this.tip = tip;
159 }
160
161 public void restoreState(FacesContext context, Object componentState) {
162 Object[] values = (Object[]) componentState;
163 super.restoreState(context, values[0]);
164 markup = (org.apache.myfaces.tobago.context.Markup) values[1];
165 label = (java.lang.String) values[2];
166 showCheckbox = (java.lang.Boolean) values[3];
167 tip = (java.lang.String) values[4];
168 }
169
170 public Object saveState(FacesContext context) {
171 Object[] values = new Object[5];
172 values[0] = super.saveState(context);
173 values[1] = markup;
174 values[2] = label;
175 values[3] = showCheckbox;
176 values[4] = tip;
177 currentMarkup = null;
178 return values;
179 }
180
181
182 }