View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.myfaces.tobago.internal.taglib.extension;
21  
22  import org.apache.myfaces.tobago.apt.annotation.DynamicExpression;
23  import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
24  import org.apache.myfaces.tobago.apt.annotation.Tag;
25  import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
26  import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
27  
28  /**
29   * Render a single selection option listbox.
30   *
31   * @deprecated since Tobago 3.0. The tx-library is deprecated, please use the tc-library.
32   */
33  @Tag(name = "selectOneListbox")
34  @ExtensionTag(
35      baseClassName = "org.apache.myfaces.tobago.internal.taglib.SelectOneListboxTag",
36      faceletHandler = "org.apache.myfaces.tobago.facelets.extension.SelectOneListboxExtensionHandler")
37  public interface SelectOneListboxExtensionTag {
38  
39    /**
40     * Flag indicating that a value is required.
41     * If the value is an empty string a
42     * ValidationError occurs and a Error Message is rendered.
43     */
44    @TagAttribute
45    @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
46    void setRequired(final javax.el.ValueExpression required);
47  
48    /**
49     * The current value of this component.
50     */
51    @TagAttribute
52    @UIComponentTagAttribute(type = "java.lang.Object")
53    void setValue(final javax.el.ValueExpression value);
54  
55    /**
56     * MethodExpression representing a value change listener method
57     * that will be notified when a new value has been set for this input component.
58     * The expression must evaluate to a public method that takes a ValueChangeEvent
59     * parameter, with a return type of void.
60     */
61    @TagAttribute
62    @UIComponentTagAttribute(
63        type = {},
64        expression = DynamicExpression.METHOD_EXPRESSION_REQUIRED,
65        methodSignature = "javax.faces.event.ValueChangeEvent")
66    void setValueChangeListener(final javax.el.MethodExpression valueChangeListener);
67  
68    /**
69     * Flag indicating that this element is disabled.
70     */
71    @TagAttribute()
72    @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
73    void setDisabled(final javax.el.ValueExpression disabled);
74  
75    /**
76     * Flag indicating that this component will prohibit changes by the user.
77     */
78    @TagAttribute
79    @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
80    void setReadonly(final javax.el.ValueExpression readonly);
81  
82    /**
83     * Clientside script function to add to this component's onchange handler.
84     */
85    @TagAttribute
86    @UIComponentTagAttribute()
87    void setOnchange(final javax.el.ValueExpression onchange);
88  
89    /**
90     * Text value to display as label.
91     * If text contains an underscore the next character is used as accesskey.
92     */
93    @TagAttribute
94    @UIComponentTagAttribute()
95    void setLabel(final javax.el.ValueExpression label);
96  
97    /**
98     * A method binding EL expression,
99     * accepting FacesContext, UIComponent,
100    * and Object parameters, and returning void, that validates
101    * the component's local value.
102    */
103   @TagAttribute
104   @UIComponentTagAttribute(type = {},
105       expression = DynamicExpression.METHOD_EXPRESSION,
106       methodSignature = {"javax.faces.context.FacesContext", "javax.faces.component.UIComponent", "java.lang.Object"})
107   void setValidator(final javax.el.MethodExpression validator);
108 
109   /**
110    * An expression that specifies the Converter for this component.
111    * If the value binding expression is a String,
112    * the String is used as an ID to look up a Converter.
113    * If the value binding expression is a Converter,
114    * uses that instance as the converter.
115    * The value can either be a static value (ID case only)
116    * or an EL expression.
117    */
118   @TagAttribute
119   @UIComponentTagAttribute(type = "javax.faces.convert.Converter",
120       expression = DynamicExpression.VALUE_EXPRESSION)
121   void setConverter(final javax.el.ValueExpression converter);
122 
123   /**
124    * Flag indicating whether or not this component should be rendered
125    * (during Render Response Phase), or processed on any subsequent form submit.
126    */
127   @TagAttribute
128   @UIComponentTagAttribute(type = "boolean", defaultValue = "true")
129   void setRendered(final javax.el.ValueExpression rendered);
130 
131   /**
132    * The value binding expression linking this
133    * component to a property in a backing bean.
134    */
135   @TagAttribute
136   @UIComponentTagAttribute(type = "javax.faces.component.UIComponent")
137   void setBinding(final javax.el.ValueExpression binding);
138 
139   /**
140    * Text value to display as tooltip.
141    */
142   @TagAttribute
143   @UIComponentTagAttribute()
144   void setTip(final javax.el.ValueExpression tip);
145 
146   /**
147    * The width for the label component. Default: 'auto'.
148    * This value is used in the gridLayouts columns attribute.
149    * See gridLayout tag for valid values.
150    */
151   @TagAttribute
152   @UIComponentTagAttribute()
153   void setLabelWidth(final javax.el.ValueExpression labelWidth);
154 
155   @TagAttribute
156   @UIComponentTagAttribute(type = "java.lang.Integer")
157   void setTabIndex(final javax.el.ValueExpression tabIndex);
158 
159   /**
160    * Flag indicating this component should receive the focus.
161    */
162   @TagAttribute
163   @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
164   void setFocus(final javax.el.ValueExpression focus);
165 
166   /**
167    * An expression that specifies the validator message
168    */
169   @TagAttribute
170   @UIComponentTagAttribute()
171   void setValidatorMessage(final javax.el.ValueExpression validatorMessage);
172 
173   /**
174    * An expression that specifies the converter message
175    */
176   @TagAttribute
177   @UIComponentTagAttribute()
178   void setConverterMessage(final javax.el.ValueExpression converterMessage);
179 
180   /**
181    * An expression that specifies the required message
182    */
183   @TagAttribute
184   @UIComponentTagAttribute()
185   void setRequiredMessage(final javax.el.ValueExpression requiredMessage);
186 
187   /**
188    * Indicate markup of this component.
189    * Possible value is 'none'. But this can be overridden in the theme.
190    */
191   @TagAttribute
192   @UIComponentTagAttribute(defaultValue = "none", type = "java.lang.String[]")
193   void setMarkup(final javax.el.ValueExpression markup);
194 
195   /**
196    * The component identifier for the input field component inside of the container.
197    * This value must be unique within the closest parent component that is a naming container.
198    */
199   @TagAttribute(rtexprvalue = true)
200   @UIComponentTagAttribute
201   void setFieldId(final String fieldId);
202 
203   /**
204    * The component identifier for this component.
205    * This value must be unique within the closest parent component that is a naming container.
206    * For tx components the id will be set to the container (e. g. the panel).
207    * To set the id of the input field, you have to use the attribute "fieldId".
208    */
209   @TagAttribute(rtexprvalue = true)
210   @UIComponentTagAttribute
211   void setId(final String id);
212 }