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