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 }