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.bpm4struts.metafacades;
6   
7   import java.util.Collection;
8   import java.util.List;
9   import org.andromda.metafacades.uml.FrontEndParameter;
10  
11  /**
12   * A Struts parameter is an object communicated between the client and the server. Typically form
13   * beans encapsulate such parameters.
14   *
15   * Metafacade interface to be used by AndroMDA cartridges.
16   */
17  public interface StrutsParameter
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 isStrutsParameterMetaType();
26  
27      /**
28       * The backing list name for this parameter. This is useful if you want to be able to select the
29       * parameter value from a list.
30       * @return String
31       */
32      public String getBackingListName();
33  
34      /**
35       * If this parameter is a collection type, this property will represent the fully qualified name
36       * of a class suitable for implementation. If the type is neither Collection, List, nor Set the
37       * type itself is assumed.
38       * @return String
39       */
40      public String getCollectionImplementationType();
41  
42      /**
43       * If this parameter represents a date this method will return the format in which it must be
44       * represented. In case this format has not been specified by the any tagged value a default one
45       * will be taken.
46       * @return String
47       */
48      public String getDateFormat();
49  
50      /**
51       * The key to lookup the documentation for this parameter.
52       * @return String
53       */
54      public String getDocumentationKey();
55  
56      /**
57       * The documentation for this parameter, formatted to be inserted into a resource bundle.
58       * @return String
59       */
60      public String getDocumentationValue();
61  
62      /**
63       * The number of columns for this field, null if default browser value is desired.
64       * @return Integer
65       */
66      public Integer getFieldColumnCount();
67  
68      /**
69       * The number of rows for this field, null if default browser value is desired.
70       * @return Integer
71       */
72      public Integer getFieldRowCount();
73  
74      /**
75       * If this is a controller operation argument these form fields will represent the form fields
76       * for all actions deferring to the controller operation.
77       * @return List<StrutsParameter>
78       */
79      public List<StrutsParameter> getFormFields();
80  
81      /**
82       * Represents the jsp page in which this parameter will be used: either as a page variable,
83       * either as an action parameter (form or hyperlink).
84       * @return StrutsJsp
85       */
86      public StrutsJsp getJsp();
87  
88      /**
89       * The name of the list holding the labels for this parameter. Only makes sense when the
90       * parameter is selectable.
91       * @return String
92       */
93      public String getLabelListName();
94  
95      /**
96       * The default message key for this parameter.
97       * @return String
98       */
99      public String getMessageKey();
100 
101     /**
102      * The default message value for this parameter.
103      * @return String
104      */
105     public String getMessageValue();
106 
107     /**
108      * The name of the array to be used for the multibox, this only makes sense when this parameter
109      * is actually a multibox.
110      * @return String
111      */
112     public String getMultiboxPropertyName();
113 
114     /**
115      * The null value for the type of this parameter. For decimals this would be zero, for booleans
116      * this would be 'false', etc...
117      * @return String
118      */
119     public String getNullValue();
120 
121     /**
122      * The key to lookup the online help documentation. This documentation is gathered from the
123      * documentation entered by the user, as well as analyzing the model.
124      * @return String
125      */
126     public String getOnlineHelpKey();
127 
128     /**
129      * The online help documentation. This documentation is gathered from the documentation entered
130      * by the user, as well as analyzing the model. The format is HTML without any style.
131      * @return String
132      */
133     public String getOnlineHelpValue();
134 
135     /**
136      * In case this parameter represents an option set using radiobuttons, this attribute is a
137      * positive integer and zero otherwise.
138      * @return int
139      */
140     public int getOptionCount();
141 
142     /**
143      * If this parameter is a choice between radio buttons, then you may use this method to retrieve
144      * the message keys for the resource bundle. The message keys hold the value to be displayed for
145      * the possible options.
146      * @return List
147      */
148     public List getOptionKeys();
149 
150     /**
151      * The values for the options. Only makes sense when the widget type is radiobutton. The
152      * property value may directly be specified usiing the tagged value.
153      * @return List
154      */
155     public List getOptionValues();
156 
157     /**
158      * The name of the operation that resets this parameter to its original value.
159      * @return String
160      */
161     public String getResetName();
162 
163     /**
164      * The reset value for this parameter. The reset value is the non-null value to which this
165      * parameter is set by default between requests, you can use this method to be able to generate
166      * an application that will deploy and run with default data.
167      * @return String
168      */
169     public String getResetValue();
170 
171     /**
172      * Represents a Struts action. Such an action typically is associated with a form bean.
173      * This action model element extends a transition, but the actual logic contained by the action
174      * envelops all action states called, until either a final state or JSP page is reached.
175      * @return StrutsAction
176      */
177     public StrutsAction getStrutsAction();
178 
179     /**
180      * TODO: Model Documentation for
181      * StrutsParameter.styleId
182      * @return String
183      */
184     public String getStyleId();
185 
186     /**
187      * Those actions that are targetting this table's columns, only makes sense when this parameter
188      * represents a table page-variable.
189      * @param columnName String
190      * @return List
191      */
192     public List getTableColumnActions(String columnName);
193 
194     /**
195      * Returns the resource bundle key for this table's column, only returns a value when this
196      * parameter is a table.
197      * @param columnName String
198      * @return String
199      */
200     public String getTableColumnMessageKey(String columnName);
201 
202     /**
203      * Returns the resource bundle value for this table's column, only returns a value when this
204      * parameter is a table.
205      * @param columnName String
206      * @return String
207      */
208     public String getTableColumnMessageValue(String columnName);
209 
210     /**
211      * The class name of the decorator to use for the table.
212      * @return String
213      */
214     public String getTableDecoratorClassName();
215 
216     /**
217      * The full path to the decorator class.
218      * @return String
219      */
220     public String getTableDecoratorFullPath();
221 
222     /**
223      * The complete table decorator classname.
224      * @return String
225      */
226     public String getTableDecoratorFullyQualifiedName();
227 
228     /**
229      * The package name of the decorator to use for the table.
230      * @return String
231      */
232     public String getTableDecoratorPackageName();
233 
234     /**
235      * Tthe available types of export in a single String instance.
236      * @return String
237      */
238     public String getTableExportTypes();
239 
240     /**
241      * The actions used when submitting forms for this table. Table actions that are hyperlinks are
242      * not included. It only makes sense to call this property on parameters that represent a table
243      * page-variable.
244      * @return List<StrutsAction>
245      */
246     public List<StrutsAction> getTableFormActions();
247 
248     /**
249      * The column which is chosen to be submitted by the action targetting the entire table. Only
250      * makes sense when there are actually global table actions present for this table parameter.
251      * @return StrutsParameter
252      */
253     public StrutsParameter getTableGlobalActionParameter();
254 
255     /**
256      * Returns those actions that allow table rows to be checked and submitted. Only makes sense
257      * when this parameter represents a table page-variable.
258      * @return Collection<StrutsAction>
259      */
260     public Collection<StrutsAction> getTableGlobalActions();
261 
262     /**
263      * Those actions that are working on this table and are to be represented as hyperlinks. It only
264      * makes sense to call this property on parameters that represent a table page-variable.
265      * @return List<StrutsAction>
266      */
267     public List<StrutsAction> getTableHyperlinkActions();
268 
269     /**
270      * The maximum number of rows to be displayed in the table at the same time. This is also known
271      * as the page size. A value of zero or less will display all data in the same table (therefore
272      * also on the same page).
273      * @return int
274      */
275     public int getTableMaxRows();
276 
277     /**
278      * The time format for this parameter (if this parameter stores time).
279      * @return String
280      */
281     public String getTimeFormat();
282 
283     /**
284      * TODO: Model Documentation for
285      * StrutsParameter.titleKey
286      * @return String
287      */
288     public String getTitleKey();
289 
290     /**
291      * TODO: Model Documentation for
292      * StrutsParameter.titleValue
293      * @return String
294      */
295     public String getTitleValue();
296 
297     /**
298      * The validator's 'validwhen' value, this is useful when the validation of a parameter depends
299      * on the validation of others. See the Struts validator plugin documentation for more
300      * information.
301      * @return String
302      */
303     public String getValidWhen();
304 
305     /**
306      * Returns the arguments for this parameter's validators.
307      * @param validatorType String
308      * @return Collection
309      */
310     public Collection getValidatorArgs(String validatorType);
311 
312     /**
313      * The message key for this parameter, equivalent to getMessageKey().
314      * @return String
315      */
316     public String getValidatorMsgKey();
317 
318     /**
319      * A collection of all the validator types for this parameter. Use this value in conjunction
320      * with the Struts validator plugin.
321      * @return Collection
322      */
323     public Collection getValidatorTypes();
324 
325     /**
326      * The validator arguments.
327      * @return Collection
328      */
329     public Collection getValidatorVars();
330 
331     /**
332      * The name of the list holding the values for this parameter. Only makes sense when the
333      * parameter is selectable.
334      * @return String
335      */
336     public String getValueListName();
337 
338     /**
339      * The reset value for this parameter's value list. Only makes sense if this parameter is
340      * selectable.
341      * @return String
342      */
343     public String getValueListResetValue();
344 
345     /**
346      * The widget type for this parameter, this value is the tagname for the Struts HTML taglib.
347      * This method is useful only when rendering forms.
348      * @return String
349      */
350     public String getWidgetType();
351 
352     /**
353      * This property is used in model validation. It denotes whether all actions targetting this
354      * table page-variable take the same parameter (same name and type). Only makes sense when this
355      * parameter is actually a table page-variable.
356      * @return boolean
357      */
358     public boolean isAllGlobalTableActionsHaveSameParameter();
359 
360     /**
361      * True if this parameter is a date and it requires a calendar popup.
362      * @return boolean
363      */
364     public boolean isCalendarRequired();
365 
366     /**
367      * TODO: Model Documentation for
368      * StrutsParameter.checkbox
369      * @return boolean
370      */
371     public boolean isCheckbox();
372 
373     /**
374      * TODO: Model Documentation for
375      * StrutsParameter.combobox
376      * @return boolean
377      */
378     public boolean isCombobox();
379 
380     /**
381      * True if the type of this parameter represents a date. This is equivalent to
382      * parameter.type.isDateType().
383      * @return boolean
384      */
385     public boolean isDate();
386 
387     /**
388      * TODO: Model Documentation for
389      * StrutsParameter.file
390      * @return boolean
391      */
392     public boolean isFile();
393 
394     /**
395      * TODO: Model Documentation for
396      * StrutsParameter.hiddenField
397      * @return boolean
398      */
399     public boolean isHiddenField();
400 
401     /**
402      * TODO: Model Documentation for
403      * StrutsParameter.hyperlink
404      * @return boolean
405      */
406     public boolean isHyperlink();
407 
408     /**
409      * TODO: Model Documentation for
410      * StrutsParameter.multibox
411      * @return boolean
412      */
413     public boolean isMultibox();
414 
415     /**
416      * True if this parameter is either an array type or Collection type.
417      * @return boolean
418      */
419     public boolean isMultiple();
420 
421     /**
422      * True if this parameter represents a password field.
423      * @return boolean
424      */
425     public boolean isPassword();
426 
427     /**
428      * TODO: Model Documentation for
429      * StrutsParameter.radioButton
430      * @return boolean
431      */
432     public boolean isRadioButton();
433 
434     /**
435      * True if this parameter cannot be changed by the user, false otherwise.
436      * @return boolean
437      */
438     public boolean isReadOnly();
439 
440     /**
441      * True if the value of this parameter must be reset between requests (Struts requires this for
442      * specific types), false otherwise.
443      * @return boolean
444      */
445     public boolean isResetRequired();
446 
447     /**
448      * True if this parameter has a name that can properly be handled by Jakarta commons (this lib
449      * is used by Struts but contains a bug)
450      * @return boolean
451      */
452     public boolean isSafeNamePresent();
453 
454     /**
455      * Whether or not this parameter is selectable. In case this would be true this parameter always
456      * has a backing list, a value list and a list containing the labels.
457      * @return boolean
458      */
459     public boolean isSelectable();
460 
461     /**
462      * Whether or not this parameter should be reset between requests.  This is different than
463      * resetRequired in that this is user specified.
464      * @return boolean
465      */
466     public boolean isShouldReset();
467 
468     /**
469      * Indicates if a table can be sorted by this parameter.
470      * @return boolean
471      */
472     public boolean isSortableBy();
473 
474     /**
475      * True if the date format is to be strictly respected. Otherwise the dateformatter used for the
476      * representation of this date is to be set to lenient.
477      * @return boolean
478      */
479     public boolean isStrictDateFormat();
480 
481     /**
482      * TODO: Model Documentation for
483      * StrutsParameter.tableDecoratorRequired
484      * @return boolean
485      */
486     public boolean isTableDecoratorRequired();
487 
488     /**
489      * True if it is possible to export the table data to XML, CSV, PDF or Excel format.
490      * @return boolean
491      */
492     public boolean isTableExportable();
493 
494     /**
495      * True if this table has form actions that share the column widgets. It is not allowed to have
496      * different actions use different widgets on the same column.
497      * @return boolean
498      */
499     public boolean isTableFormActionSharingWidgets();
500 
501     /**
502      * True if this parameter represents a table column into which an hyperlink must be rendered.
503      * This property only makes sense when it has been called on parameters representing an actual
504      * table column. Note that the getTableColumns() operation also returns String instances.
505      * @return boolean
506      */
507     public boolean isTableHyperlinkColumn();
508 
509     /**
510      * True if it is possible to sort the columns of the table.
511      * @return boolean
512      */
513     public boolean isTableSortable();
514 
515     /**
516      * TODO: Model Documentation for
517      * StrutsParameter.textArea
518      * @return boolean
519      */
520     public boolean isTextArea();
521 
522     /**
523      * TODO: Model Documentation for
524      * StrutsParameter.textField
525      * @return boolean
526      */
527     public boolean isTextField();
528 
529     /**
530      * Indicates if this parameter's type represents a time.
531      * @return boolean
532      */
533     public boolean isTime();
534 
535     /**
536      * True if this parameter requires some kind of validation. This means the collection of
537      * validator types is not empty.
538      * @return boolean
539      */
540     public boolean isValidationRequired();
541 }