1 // license-header java merge-point
2 //
3 // Attention: generated code (by Metafacade.vsl) - do not modify!
4 //
5 package org.andromda.metafacades.uml;
6
7 import java.util.List;
8
9 /**
10 * Represents a "front-end" action. An action is some action that is taken when a front-end even
11 * occurs.
12 *
13 * Metafacade interface to be used by AndroMDA cartridges.
14 */
15 public interface FrontEndAction
16 extends FrontEndForward
17 {
18 /**
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return boolean always <code>true</code>
22 */
23 public boolean isFrontEndActionMetaType();
24
25 /**
26 * Finds the parameter on this action having the given name, if no parameter is found, null is
27 * returned instead.
28 * @param name String
29 * @return ParameterFacade
30 */
31 public ParameterFacade findParameter(String name);
32
33 /**
34 * All action forwards for this foward. Each action forward either calls a view or another
35 * use-case (which is essentially an action).
36 * @return List<FrontEndForward>
37 */
38 public List<FrontEndForward> getActionForwards();
39
40 /**
41 * All action states visited by this action.
42 * @return List<FrontEndActionState>
43 */
44 public List<FrontEndActionState> getActionStates();
45
46 /**
47 * The controller that will handle the execution of this front-end action. This controller is
48 * set as the context of the activity graph (and therefore also of the use-case).
49 * @return FrontEndController
50 */
51 public FrontEndController getController();
52
53 /**
54 * All the transitions coming out of decision points. These transitions should all carry guards.
55 * @return List<FrontEndForward>
56 */
57 public List<FrontEndForward> getDecisionTransitions();
58
59 /**
60 * The controller operations to which this action defers, the order is preserved.
61 * @return List<FrontEndControllerOperation>
62 */
63 public List<FrontEndControllerOperation> getDeferredOperations();
64
65 /**
66 * Form fields for this action. Form fields are those parameters that can be altered by the user
67 * on a corresponding view at runtime.
68 * @return List<FrontEndParameter>
69 */
70 public List<FrontEndParameter> getFormFields();
71
72 /**
73 * The StateVertex (FrontEndView or PseudostateFacade) on which this action can be triggered.
74 * @return StateVertexFacade
75 */
76 public StateVertexFacade getInput();
77
78 /**
79 * All parameters sent by this "front-end" action.
80 * @return List<FrontEndParameter>
81 */
82 public List<FrontEndParameter> getParameters();
83
84 /**
85 * All views that can be possibly targetted by triggering this action.
86 * @return List<FrontEndView>
87 */
88 public List<FrontEndView> getTargetViews();
89
90 /**
91 * All the transitions that make up this action, this directly maps onto the forwards.
92 * @return List<FrontEndForward>
93 */
94 public List<FrontEndForward> getTransitions();
95
96 /**
97 * Indicates if this action represents the beginning of the front-end use case or not.
98 * @return boolean
99 */
100 public boolean isUseCaseStart();
101 }