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.AbstractUISelectManyCheckbox;
25  import org.apache.myfaces.tobago.renderkit.css.CustomClass;
26  import org.apache.myfaces.tobago.internal.util.ArrayUtils;
27  import org.apache.myfaces.tobago.internal.util.StringUtils;
28  import org.apache.myfaces.tobago.internal.util.Deprecation;
29  import org.apache.myfaces.tobago.component.Tags;
30  import javax.annotation.Generated;
31  import javax.el.ELException;
32  import javax.faces.FacesException;
33  import java.util.Arrays;
34  import java.util.ArrayList;
35  import java.util.Collection;
36  import java.util.List;
37  import javax.el.MethodExpression;
38  import javax.el.ValueExpression;
39  
40  /**
41   Render a group of checkboxes.
42    * UIComponent class, generated from template {@code component.stg} with class
43    * {@link org.apache.myfaces.tobago.internal.taglib.component.SelectManyCheckboxTagDeclaration}.
44   */
45  @Generated("component.stg")
46  public class UISelectManyCheckbox
47      extends AbstractUISelectManyCheckbox  {
48  
49    public static final String COMPONENT_TYPE = Tags.selectManyCheckbox.componentType();
50  
51    public static final String COMPONENT_FAMILY = "javax.faces.SelectMany";
52  
53    private static final Collection<String> EVENT_NAMES = Arrays.asList("change", "click", "dblclick", "focus", "blur");
54  
55    @Override
56    public Collection<String> getEventNames() {
57      return EVENT_NAMES;
58    }
59  
60    @Override
61    public String getDefaultEventName() {
62      return "change";
63    }
64  
65  
66    enum PropertyKeys {
67      markup,
68      labelLayout,
69      focus,
70      tabIndex,
71      label,
72      help,
73      inline,
74      readonly,
75      customClass,
76      disabled,
77      tip,
78      renderRange,
79    }
80  
81    public String getFamily() {
82      return COMPONENT_FAMILY;
83    }
84  
85  
86    public org.apache.myfaces.tobago.context.Markup getMarkup() {
87      Object object = getStateHelper().eval(PropertyKeys.markup);
88      if (object != null) {
89        return Markup.valueOf(object);
90      }
91      return null;
92    }
93  
94    public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
95      getStateHelper().put(PropertyKeys.markup, markup);
96    }
97  
98    /**
99    Defines the position of the label relative to the field.
100    The default is flexLeft, if the label is set, or none, if the label isn't set.
101    Set to 'skip' to avoid surrounding label container.
102    Hint for tc:out: set also compact=true to render only text (without html tags).
103 
104   */
105   public org.apache.myfaces.tobago.component.LabelLayout getLabelLayout() {
106     org.apache.myfaces.tobago.component.LabelLayout labelLayout = (org.apache.myfaces.tobago.component.LabelLayout) getStateHelper().eval(PropertyKeys.labelLayout);
107     if (labelLayout != null) {
108       return labelLayout;
109     }
110     return getLabel() != null ? org.apache.myfaces.tobago.component.LabelLayout.flexLeft : org.apache.myfaces.tobago.component.LabelLayout.none;
111   }
112 
113   public void setLabelLayout(org.apache.myfaces.tobago.component.LabelLayout labelLayout) {
114     getStateHelper().put(PropertyKeys.labelLayout, labelLayout);
115   }
116 
117   /**
118   Flag indicating this component should receive the focus.
119   <br>Default: <code>false</code>
120   */
121   public boolean isFocus() {
122     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.focus);
123     if (bool != null) {
124       return bool;
125     }
126     return false;
127   }
128 
129   public void setFocus(boolean focus) {
130     getStateHelper().put(PropertyKeys.focus, focus);
131   }
132 
133   /**
134   Controls the navigation of the focus through the
135    input controls on a page with the Tab-Key.
136    The navigation starts from the element with
137    the lowest tabIndex value to the element with the highest value.
138    Elements that have identical tabIndex values should be navigated
139    in the order they appear in the character stream
140    Elements that are disabled or with a negative tabIndex
141    do not participate in the tabbing order.
142 
143   */
144   public java.lang.Integer getTabIndex() {
145     Number value  = (Number) getStateHelper().eval(PropertyKeys.tabIndex);
146     if (value != null) {
147       return value.intValue();
148     }
149     return null;
150   }
151 
152   public void setTabIndex(java.lang.Integer tabIndex) {
153     getStateHelper().put(PropertyKeys.tabIndex, tabIndex);
154   }
155 
156   /**
157   A localized user presentable label for this component.
158 
159   */
160   public java.lang.String getLabel() {
161     return (java.lang.String) getStateHelper().eval(PropertyKeys.label);
162   }
163 
164   public void setLabel(java.lang.String label) {
165     getStateHelper().put(PropertyKeys.label, label);
166   }
167 
168   /**
169   Text value to display as a help.
170 
171   */
172   public java.lang.String getHelp() {
173     return (java.lang.String) getStateHelper().eval(PropertyKeys.help);
174   }
175 
176   public void setHelp(java.lang.String help) {
177     getStateHelper().put(PropertyKeys.help, help);
178   }
179 
180   /**
181   Flag indicating this component should rendered as an inline element.
182   <br>Default: <code>false</code>
183   */
184   public boolean isInline() {
185     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.inline);
186     if (bool != null) {
187       return bool;
188     }
189     return false;
190   }
191 
192   public void setInline(boolean inline) {
193     getStateHelper().put(PropertyKeys.inline, inline);
194   }
195 
196   /**
197   Flag indicating that this component will prohibit changes by the user.
198   <br>Default: <code>false</code>
199   */
200   public boolean isReadonly() {
201     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.readonly);
202     if (bool != null) {
203       return bool;
204     }
205     return false;
206   }
207 
208   public void setReadonly(boolean readonly) {
209     getStateHelper().put(PropertyKeys.readonly, readonly);
210   }
211 
212   /**
213   Sets a CSS class in its parent, if the parent supports it.
214 
215    Which this feature it is possible to put a CSS class name into a component with the &lt;tc:style&gt; tag. Example:
216 
217    <pre>
218    &lt;tc:in&gt;
219      &lt;tc:style customClass="my-emphasized"/&gt;
220    &lt;/tc:in&gt;
221    </pre>
222 
223    One capability is, to used external CSS libs.
224    <br>
225    This feature should not be used imprudent.
226    Because it might be unstable against changes in the renderered HTML code.
227 
228   */
229   public org.apache.myfaces.tobago.renderkit.css.CustomClass getCustomClass() {
230     return (org.apache.myfaces.tobago.renderkit.css.CustomClass) getStateHelper().eval(PropertyKeys.customClass);
231   }
232 
233   public void setCustomClass(org.apache.myfaces.tobago.renderkit.css.CustomClass customClass) {
234     getStateHelper().put(PropertyKeys.customClass, customClass);
235   }
236 
237   /**
238   Flag indicating that this element is disabled.
239   <br>Default: <code>false</code>
240   */
241   public boolean isDisabled() {
242     Boolean bool = (Boolean) getStateHelper().eval(PropertyKeys.disabled);
243     if (bool != null) {
244       return bool;
245     }
246     return false;
247   }
248 
249   public void setDisabled(boolean disabled) {
250     getStateHelper().put(PropertyKeys.disabled, disabled);
251   }
252 
253   /**
254   Text value to display as tooltip.
255 
256   */
257   public java.lang.String getTip() {
258     return (java.lang.String) getStateHelper().eval(PropertyKeys.tip);
259   }
260 
261   public void setTip(java.lang.String tip) {
262     getStateHelper().put(PropertyKeys.tip, tip);
263   }
264 
265   /**
266   Range of items to render.
267 
268   */
269   public java.lang.String getRenderRange() {
270     return (java.lang.String) getStateHelper().eval(PropertyKeys.renderRange);
271   }
272 
273   public void setRenderRange(java.lang.String renderRange) {
274     getStateHelper().put(PropertyKeys.renderRange, renderRange);
275   }
276 
277 
278   @Override
279   public void restoreState(FacesContext context, Object state) {
280     // FIXME HACK for mojarra SystemEventListener state restoring bug
281     pushComponentToEL(context, this);
282     super.restoreState(context, state);
283     popComponentFromEL(context);
284   }
285 
286 }