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.List; 8 9 /** 10 * Represents a Struts action. Such an action typically is associated with a form bean. 11 * This action model element extends a transition, but the actual logic contained by the action 12 * envelops all action states called, until either a final state or JSP page is reached. 13 * 14 * Metafacade interface to be used by AndroMDA cartridges. 15 */ 16 public interface StrutsAction 17 extends StrutsForward 18 { 19 /** 20 * Indicates the metafacade type (used for metafacade mappings). 21 * 22 * @return boolean always <code>true</code> 23 */ 24 public boolean isStrutsActionMetaType(); 25 26 /** 27 * A good Java class name for this action. The name is constructed from the source page and the 28 * name of the trigger. 29 * @return String 30 */ 31 public String getActionClassName(); 32 33 /** 34 * Returns all exception handlers for this action. 35 * @return List<StrutsExceptionHandler> 36 */ 37 public List<StrutsExceptionHandler> getActionExceptions(); 38 39 /** 40 * Returns all form fields for this action. Form fields are those parameters that can be altered 41 * by the user at runtime. 42 * @return List<StrutsParameter> 43 */ 44 public List<StrutsParameter> getActionFormFields(); 45 46 /** 47 * Returns all action forwards for this action. Each action forward either calls a JSP page or 48 * another use-case (which is essentially an action). 49 * @return List<StrutsForward> 50 */ 51 public List<StrutsForward> getActionForwards(); 52 53 /** 54 * The action input corresponding to this action, as found in the struts deployment descriptor. 55 * The action input maps the action to the page on which it originated. 56 * @return String 57 */ 58 public String getActionInput(); 59 60 /** 61 * The action name corresponding to this action, as found in the struts deployment descriptor. 62 * The action name maps the action to a form bean. 63 * @return String 64 */ 65 public String getActionName(); 66 67 /** 68 * Returns all parameters transported in this action. 69 * @return List<StrutsParameter> 70 */ 71 public List<StrutsParameter> getActionParameters(); 72 73 /** 74 * Tthe action path corresponding to this action, as found in the struts deployment descriptor. 75 * The action path specifies the URL to enter in order to call the action. 76 * @return String 77 */ 78 public String getActionPath(); 79 80 /** 81 * The root of the action path, this is the same as the path for the use-case context for this 82 * action, that is, the use-case holding the activity graph in which this action is contained. 83 * @return String 84 */ 85 public String getActionPathRoot(); 86 87 /** 88 * The action roles corresponding to this action, as found in the struts deployment descriptor. 89 * The action roles specifiy the roles in which the user must be in order to be authorized to 90 * call the action. One of the roles must be satisfied. 91 * @return String 92 */ 93 public String getActionRoles(); 94 95 /** 96 * The scope in which the form bean will be placed (could be page, request, session or 97 * application). 98 * @return String 99 */ 100 public String getActionScope(); 101 102 /** 103 * Returns all action states visited by this action. 104 * @return List<StrutsActionState> 105 */ 106 public List<StrutsActionState> getActionStates(); 107 108 /** 109 * Returns the trigger that calls this action. Typically this is a button or an hyperlink. 110 * @return StrutsTrigger 111 */ 112 public StrutsTrigger getActionTrigger(); 113 114 /** 115 * The fully qualified name for the action class. 116 * @return String 117 */ 118 public String getActionType(); 119 120 /** 121 * Returns the controller that will handle the execution of this action. This controller is set 122 * as the context of the activity graph (and therefore also of the use-case). 123 * @return StrutsController 124 */ 125 public StrutsController getController(); 126 127 /** 128 * Returns all the transitions coming out of decision points. These transitions should all carry 129 * guards. 130 * @return List<StrutsForward> 131 */ 132 public List<StrutsForward> getDecisionTransitions(); 133 134 /** 135 * The controller operations to which this action defers, the order is preserved. 136 * @return List<StrutsControllerOperation> 137 */ 138 public List<StrutsControllerOperation> getDeferredOperations(); 139 140 /** 141 * A key suited as a resource message key for the documentation for this action. 142 * @return String 143 */ 144 public String getDocumentationKey(); 145 146 /** 147 * The documentation for this action as a String that can be used as a resource message (with 148 * the backslashes at the end of the line). 149 * @return String 150 */ 151 public String getDocumentationValue(); 152 153 /** 154 * Returns the class name of the form bean associated to this action. 155 * @return String 156 */ 157 public String getFormBeanClassName(); 158 159 /** 160 * The name of the form bean associated to this action. The name is returned as it should appear 161 * in the Struts deployment descriptor. 162 * @return String 163 */ 164 public String getFormBeanName(); 165 166 /** 167 * The package for the form bean. 168 * @return String 169 */ 170 public String getFormBeanPackageName(); 171 172 /** 173 * The fully qualified name of the form bean associated to this action. 174 * @return String 175 */ 176 public String getFormBeanType(); 177 178 /** 179 * The scope to place the current "form" variable within when this action is executing. 180 * @return String 181 */ 182 public String getFormScope(); 183 184 /** 185 * The Javascript function name of the validation method that will validate the action 186 * parameters. 187 * @return String 188 */ 189 public String getFormValidationMethodName(); 190 191 /** 192 * The full path for this action. The full path also contains the package name rendered as 193 * directories. 194 * @return String 195 */ 196 public String getFullActionPath(); 197 198 /** 199 * Returns the full path for the form bean associated to this action. 200 * @return String 201 */ 202 public String getFullFormBeanPath(); 203 204 /** 205 * The name of a file that can be used as a JSP file name in case you want to have each action 206 * rendered onto a different tile. 207 * @return String 208 */ 209 public String getFullTilePath(); 210 211 /** 212 * All action parameters that represent 'hidden' widgets. 213 * @return List<StrutsParameter> 214 */ 215 public List<StrutsParameter> getHiddenActionParameters(); 216 217 /** 218 * The resource message key used to look to location of the image for this action. 219 * @return String 220 */ 221 public String getImageMessageKey(); 222 223 /** 224 * If this action is an imageLink this property represents the path to the corresponding image. 225 * @return String 226 */ 227 public String getImagePath(); 228 229 /** 230 * The jsp on which this action can be triggered. 231 * @return StrutsJsp 232 */ 233 public StrutsJsp getInput(); 234 235 /** 236 * Those parameters that are directly entering a final state and have been submitted into the 237 * request, they will be able to survive a trip to the next use-case. All returned elements are 238 * of type StrutsParameter. 239 * @param finalState StrutsFinalState 240 * @return List 241 */ 242 public List getInterUseCaseParameters(StrutsFinalState finalState); 243 244 /** 245 * TODO: Model Documentation for 246 * org.andromda.cartridges.bpm4struts.metafacades.StrutsAction.messageKey 247 * @return String 248 */ 249 public String getMessageKey(); 250 251 /** 252 * The key to lookup the online help documentation. This documentation is gathered from the 253 * documentation entered by the user, as well as analyzing the model. 254 * @return String 255 */ 256 public String getOnlineHelpKey(); 257 258 /** 259 * The online help documentation. This documentation is gathered from the documentation entered 260 * by the user, as well as analyzing the model. The format is HTML without any style. 261 * @return String 262 */ 263 public String getOnlineHelpValue(); 264 265 /** 266 * Gets all those parameters that should be reset after action execution. 267 * @return List<StrutsParameter> 268 */ 269 public List<StrutsParameter> getResettableActionParameters(); 270 271 /** 272 * The name of the CSS id in which this action will be contained. 273 * @return String 274 */ 275 public String getStyleId(); 276 277 /** 278 * The name of the column targetted by this action. 279 * @return String 280 */ 281 public String getTableLinkColumnName(); 282 283 /** 284 * The name of the table link specified for this action. 285 * @return String 286 */ 287 public String getTableLinkName(); 288 289 /** 290 * If the action is a table link then this property represents the table to which is being 291 * linked. 292 * @return StrutsParameter 293 */ 294 public StrutsParameter getTableLinkParameter(); 295 296 /** 297 * This table action's parameters not mapped to any table column. Only makes sense when this is 298 * a table form action. 299 * @return List<StrutsParameter> 300 */ 301 public List<StrutsParameter> getTableNonColumnFormParameters(); 302 303 /** 304 * The set of pages that are a possible target of the triggering of this action. 305 * @return List<StrutsJsp> 306 */ 307 public List<StrutsJsp> getTargetPages(); 308 309 /** 310 * All the transitions that make up this action, this directly maps onto the forwards. 311 * @return List<StrutsForward> 312 */ 313 public List<StrutsForward> getTransitions(); 314 315 /** 316 * True if this action contains a parameter which requires a calendar popup. 317 * @return boolean 318 */ 319 public boolean isCalendarRequired(); 320 321 /** 322 * True if this action contains a parameter of type Date. The generated pages will contain 323 * special javascript code to handle them (popup window etc...). 324 * @return boolean 325 */ 326 public boolean isDateFieldPresent(); 327 328 /** 329 * Specifies whether or not this action is represented by the posting of a form. 330 * @return boolean 331 */ 332 public boolean isFormPost(); 333 334 /** 335 * Indicates if the form scope is of type "none". 336 * @return boolean 337 */ 338 public boolean isFormScopeNone(); 339 340 /** 341 * Indicates if the from scope is of type "request". 342 * @return boolean 343 */ 344 public boolean isFormScopeRequest(); 345 346 /** 347 * Indicates if the form scope is of type "session". 348 * @return boolean 349 */ 350 public boolean isFormScopeSession(); 351 352 /** 353 * Specifies whether or not this action is represented by clicking on a hyperlink. 354 * @return boolean 355 */ 356 public boolean isHyperlink(); 357 358 /** 359 * Specifies whether or not this action is represented by clicking on an image. 360 * @return boolean 361 */ 362 public boolean isImageLink(); 363 364 /** 365 * True is this action is supposed to be rendered as enctype="multipart/form-data" on the page 366 * form. 367 * @return boolean 368 */ 369 public boolean isMultipartFormData(); 370 371 /** 372 * Defines whether or not when this action's forward is executed, an HTTP redirect should occur. 373 * Default value is based on the value of the 'defaultActionRedirect' namespace. 374 * @return boolean 375 */ 376 public boolean isRedirect(); 377 378 /** 379 * True if it should be possible to reset the form represented by this action. False otherwise. 380 * @return boolean 381 */ 382 public boolean isResettable(); 383 384 /** 385 * Denotes this action works on all rows of the table from the table link relation. 386 * @return boolean 387 */ 388 public boolean isTableAction(); 389 390 /** 391 * True if a table link name has been specified and it properly targets a table page-variable 392 * from the input page. 393 * @return boolean 394 */ 395 public boolean isTableLink(); 396 397 /** 398 * Denotes this action works on a single row of the table from the table link relation. 399 * @return boolean 400 */ 401 public boolean isTableRowAction(); 402 403 /** 404 * True if this action starts the use-case. False otherwise. 405 * @return boolean 406 */ 407 public boolean isUseCaseStart(); 408 409 /** 410 * True if this action requires validation, false otherwise. An action requires validation if it 411 * represented by a form and one or more fields require validation. 412 * @return boolean 413 */ 414 public boolean isValidationRequired(); 415 }