001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.jsf2.metafacades; 006 007import java.util.Collection; 008import java.util.List; 009import org.andromda.metafacades.uml.AssociationEndFacade; 010import org.andromda.metafacades.uml.FrontEndParameter; 011 012/** 013 * Represents a parameter in a JSF front-end. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface JSFParameter 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 isJSFParameterMetaType(); 026 027 /** 028 * All the annotations for this parameter. 029 * @return Collection 030 */ 031 public Collection getAnnotations(); 032 033 /** 034 * All attributes belonging to this parameter's type. 035 * @return Collection 036 */ 037 public Collection getAttributes(); 038 039 /** 040 * The backing list name for this parameter. This is useful if you want to be able to select the 041 * parameter value from a list (i.e. a drop-down select input type). 042 * @return String 043 */ 044 public String getBackingListName(); 045 046 /** 047 * The name of the backing value for this parameter (only used with collections and arrays that 048 * are input type table). 049 * @return String 050 */ 051 public String getBackingValueName(); 052 053 /** 054 * The name of the date formatter for this parameter (if this parameter represents a date). 055 * @return String 056 */ 057 public String getDateFormatter(); 058 059 /** 060 * A resource message key suited for the parameter's documentation. 061 * @return String 062 */ 063 public String getDocumentationKey(); 064 065 /** 066 * A resource message value suited for the parameter's documentation. 067 * @return String 068 */ 069 public String getDocumentationValue(); 070 071 /** 072 * The dummy value for this parameter. The dummy value is used for setting the dummy information 073 * when dummyData is enabled. 074 * @return String 075 */ 076 public String getDummyValue(); 077 078 /** 079 * The name of the property used for indicating whether or not a form attribute has been set at 080 * least once. 081 * @return String 082 */ 083 public String getFormAttributeSetProperty(); 084 085 /** 086 * If this parameter represents a date or time this method will return the format in which it 087 * must be represented. In the event this format has not been specified by the any tagged value 088 * the default will be used. 089 * @return String 090 */ 091 public String getFormat(); 092 093 /** 094 * A comma separated list of the input table identifier columns (these are the columns that 095 * uniquely define a row in an input table). 096 * @return String 097 */ 098 public String getInputTableIdentifierColumns(); 099 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}