001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.bpm4struts.metafacades; 006 007import java.util.Collection; 008import java.util.List; 009import org.andromda.metafacades.uml.FrontEndParameter; 010 011/** 012 * A Struts parameter is an object communicated between the client and the server. Typically form 013 * beans encapsulate such parameters. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface StrutsParameter 018 extends FrontEndParameter 019{ 020 /** 021 * Indicates the metafacade type (used for metafacade mappings). 022 * 023 * @return boolean always <code>true</code> 024 */ 025 public boolean isStrutsParameterMetaType(); 026 027 /** 028 * The backing list name for this parameter. This is useful if you want to be able to select the 029 * parameter value from a list. 030 * @return String 031 */ 032 public String getBackingListName(); 033 034 /** 035 * If this parameter is a collection type, this property will represent the fully qualified name 036 * of a class suitable for implementation. If the type is neither Collection, List, nor Set the 037 * type itself is assumed. 038 * @return String 039 */ 040 public String getCollectionImplementationType(); 041 042 /** 043 * If this parameter represents a date this method will return the format in which it must be 044 * represented. In case this format has not been specified by the any tagged value a default one 045 * will be taken. 046 * @return String 047 */ 048 public String getDateFormat(); 049 050 /** 051 * The key to lookup the documentation for this parameter. 052 * @return String 053 */ 054 public String getDocumentationKey(); 055 056 /** 057 * The documentation for this parameter, formatted to be inserted into a resource bundle. 058 * @return String 059 */ 060 public String getDocumentationValue(); 061 062 /** 063 * The number of columns for this field, null if default browser value is desired. 064 * @return Integer 065 */ 066 public Integer getFieldColumnCount(); 067 068 /** 069 * The number of rows for this field, null if default browser value is desired. 070 * @return Integer 071 */ 072 public Integer getFieldRowCount(); 073 074 /** 075 * If this is a controller operation argument these form fields will represent the form fields 076 * for all actions deferring to the controller operation. 077 * @return List<StrutsParameter> 078 */ 079 public List<StrutsParameter> getFormFields(); 080 081 /** 082 * Represents the jsp page in which this parameter will be used: either as a page variable, 083 * either as an action parameter (form or hyperlink). 084 * @return StrutsJsp 085 */ 086 public StrutsJsp getJsp(); 087 088 /** 089 * The name of the list holding the labels for this parameter. Only makes sense when the 090 * parameter is selectable. 091 * @return String 092 */ 093 public String getLabelListName(); 094 095 /** 096 * The default message key for this parameter. 097 * @return String 098 */ 099 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}