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 }