View Javadoc
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 }