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 }