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 }