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 }