View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by Metafacade.vsl) - do not modify!
4   //
5   package org.andromda.cartridges.jsf2.metafacades;
6   
7   import java.util.Collection;
8   import java.util.List;
9   import org.andromda.metafacades.uml.AssociationEndFacade;
10  import org.andromda.metafacades.uml.FrontEndParameter;
11  
12  /**
13   * Represents a parameter in a JSF front-end.
14   *
15   * Metafacade interface to be used by AndroMDA cartridges.
16   */
17  public interface JSFParameter
18      extends FrontEndParameter
19  {
20      /**
21       * Indicates the metafacade type (used for metafacade mappings).
22       *
23       * @return boolean always <code>true</code>
24       */
25      public boolean isJSFParameterMetaType();
26  
27      /**
28       * All the annotations for this parameter.
29       * @return Collection
30       */
31      public Collection getAnnotations();
32  
33      /**
34       * All attributes belonging to this parameter's type.
35       * @return Collection
36       */
37      public Collection getAttributes();
38  
39      /**
40       * The backing list name for this parameter. This is useful if you want to be able to select the
41       * parameter value from a list (i.e. a drop-down select input type).
42       * @return String
43       */
44      public String getBackingListName();
45  
46      /**
47       * The name of the backing value for this parameter (only used with collections and arrays that
48       * are input type table).
49       * @return String
50       */
51      public String getBackingValueName();
52  
53      /**
54       * The name of the date formatter for this parameter (if this parameter represents a date).
55       * @return String
56       */
57      public String getDateFormatter();
58  
59      /**
60       * A resource message key suited for the parameter's documentation.
61       * @return String
62       */
63      public String getDocumentationKey();
64  
65      /**
66       * A resource message value suited for the parameter's documentation.
67       * @return String
68       */
69      public String getDocumentationValue();
70  
71      /**
72       * The dummy value for this parameter. The dummy value is used for setting the dummy information
73       * when dummyData is enabled.
74       * @return String
75       */
76      public String getDummyValue();
77  
78      /**
79       * The name of the property used for indicating whether or not a form attribute has been set at
80       * least once.
81       * @return String
82       */
83      public String getFormAttributeSetProperty();
84  
85      /**
86       * If this parameter represents a date or time this method will return the format in which it
87       * must be represented. In the event this format has not been specified by the any tagged value
88       * the default will be used.
89       * @return String
90       */
91      public String getFormat();
92  
93      /**
94       * A comma separated list of the input table identifier columns (these are the columns that
95       * uniquely define a row in an input table).
96       * @return String
97       */
98      public String getInputTableIdentifierColumns();
99  
100     /**
101      * The name of the label list for this parameter. The label list name is the name of the list
102      * storing the labels for the possible values of this parameter (typically used for the labels
103      * of a drop-down select lists).
104      * @return String
105      */
106     public String getLabelListName();
107 
108     /**
109      * The max length allowed in the input component
110      * @return String
111      */
112     public String getMaxLength();
113 
114     /**
115      * The default message key for this parameter.
116      * @return String
117      */
118     public String getMessageKey();
119 
120     /**
121      * The default message value for this parameter.
122      * @return String
123      */
124     public String getMessageValue();
125 
126     /**
127      * All navigation association ends belonging to this parameter's type.
128      * @return Collection<AssociationEndFacade>
129      */
130     public Collection<AssociationEndFacade> getNavigableAssociationEnds();
131 
132     /**
133      * Actions used when submitting forms for this table. It only makes sense to call this property
134      * on parameters that represent a table page-variable.
135      * @return List<JSFAction>
136      */
137     public List<JSFAction> getTableActions();
138 
139     /**
140      * Those actions that are targetting the given column, only makes sense when this parameter
141      * represents a table view-variable.
142      * @param columnName String
143      * @return List
144      */
145     public List getTableColumnActions(String columnName);
146 
147     /**
148      * TODO: Model Documentation for
149      * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageKey
150      * @param columnName String
151      * @return String
152      */
153     public String getTableColumnMessageKey(String columnName);
154 
155     /**
156      * TODO: Model Documentation for
157      * org.andromda.cartridges.jsf2.metafacades.JSFParameter.getTableColumnMessageValue
158      * @param columnName String
159      * @return String
160      */
161     public String getTableColumnMessageValue(String columnName);
162 
163     /**
164      * Actions used when submitting forms for this table. Table actions that are hyperlinks are not
165      * included. It only makes sense to call this property on parameters that represent a table
166      * page-variable.
167      * @return List<JSFAction>
168      */
169     public List<JSFAction> getTableFormActions();
170 
171     /**
172      * Actions that are working with this table and are to be represented as hyperlinks. This only
173      * makes sense on a parameter that represents a table page variable.
174      * @return List<JSFAction>
175      */
176     public List<JSFAction> getTableHyperlinkActions();
177 
178     /**
179      * The name of the property that Indicates whether or not the table should be sorted ascending
180      * (if this parameter represents a table).
181      * @return String
182      */
183     public String getTableSortAscendingProperty();
184 
185     /**
186      * The name of the property storing the column to sort by if this parameter represents a table.
187      * @return String
188      */
189     public String getTableSortColumnProperty();
190 
191     /**
192      * The name of the time formatter (if this parameter represents a time).
193      * @return String
194      */
195     public String getTimeFormatter();
196 
197     /**
198      * The validator's 'validwhen' value, this is useful when the validation of a parameter depends
199      * on the validation of others. See the apache commons-validator documentation for more
200      * information.
201      * @return String
202      */
203     public String getValidWhen();
204 
205     /**
206      * Gets the arguments for this parameter's validators.
207      * @param validatorType String
208      * @return Collection
209      */
210     public Collection getValidatorArgs(String validatorType);
211 
212     /**
213      * All the validator types for this parameter.
214      * @return Collection
215      */
216     public Collection getValidatorTypes();
217 
218     /**
219      * The validator variables.
220      * @return Collection
221      */
222     public Collection getValidatorVars();
223 
224     /**
225      * The dummy value for a value list.
226      * @return String
227      */
228     public String getValueListDummyValue();
229 
230     /**
231      * Stores the name of the value list for this parameter; this list stores the possible values
232      * that this parameter may be (typically used for the values of a drop-down select list).
233      * @return String
234      */
235     public String getValueListName();
236 
237     /**
238      * Indicates if a backing value is required for this parameter.
239      * @return boolean
240      */
241     public boolean isBackingValueRequired();
242 
243     /**
244      * Indicates if this parameter is 'complex', that is: its of a complex type (has at least one
245      * attribute or association).
246      * @return boolean
247      */
248     public boolean isComplex();
249 
250     /**
251      * Indicates whether or not this parameter uses the equal validator.
252      * @return boolean
253      */
254     public boolean isEqualValidator();
255 
256     /**
257      * Indicates if this parameter represents a checkbox widget.
258      * @return boolean
259      */
260     public boolean isInputCheckbox();
261 
262     /**
263      * Indicates whether or not this is a file input type.
264      * @return boolean
265      */
266     public boolean isInputFile();
267 
268     /**
269      * Indicates whether or not this parameter represents a hidden input widget.
270      * @return boolean
271      */
272     public boolean isInputHidden();
273 
274     /**
275      * Indicates whether or not this type represents an input multibox.
276      * @return boolean
277      */
278     public boolean isInputMultibox();
279 
280     /**
281      * Indicates whether or not this parameter should be rendered as an input radio widget.
282      * @return boolean
283      */
284     public boolean isInputRadio();
285 
286     /**
287      * Indicates whether or not this parameter represents an input "secret" widget (i.e. password).
288      * @return boolean
289      */
290     public boolean isInputSecret();
291 
292     /**
293      * Indicates whether or not this parameter represents an input select widget.
294      * @return boolean
295      */
296     public boolean isInputSelect();
297 
298     /**
299      * Indicates whether or not this is an table input type.
300      * @return boolean
301      */
302     public boolean isInputTable();
303 
304     /**
305      * Indicates whether or not this parameter should be rendered as a text input widget.
306      * @return boolean
307      */
308     public boolean isInputText();
309 
310     /**
311      * Indicates if this parameter represents as an input text area widget.
312      * @return boolean
313      */
314     public boolean isInputTextarea();
315 
316     /**
317      * Whether or not the parameter is a "pageable table", that is a table that supports paging
318      * (i.e. DB paging).
319      * @return boolean
320      */
321     public boolean isPageableTable();
322 
323     /**
324      * Indicates whether or not this field should be rendered as plain text (not as a widget).
325      * @return boolean
326      */
327     public boolean isPlaintext();
328 
329     /**
330      * Indicates if this parameter can only be read and not modified.
331      * @return boolean
332      */
333     public boolean isReadOnly();
334 
335     /**
336      * Indicates if this parameter's value should be reset or not after an action has been performed
337      * with this parameter.
338      * @return boolean
339      */
340     public boolean isReset();
341 
342     /**
343      * Indicates whether or not this parameter is selectable or not (that is: it can be selected
344      * from a list of values).
345      * @return boolean
346      */
347     public boolean isSelectable();
348 
349     /**
350      * Indicates where or not the date format is to be strictly respected. Otherwise the date
351      * formatter used for the representation of this date is to be set to lenient.
352      * @return boolean
353      */
354     public boolean isStrictDateFormat();
355 
356     /**
357      * Indicates whether or not this parameter requires some kind of validation (the collection of
358      * validator types is not empty).
359      * @return boolean
360      */
361     public boolean isValidationRequired();
362 }