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