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 use case used in the "front end" of an application.
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface FrontEndUseCase
15 extends UseCaseFacade
16 {
17 /**
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return boolean always <code>true</code>
21 */
22 public boolean isFrontEndUseCaseMetaType();
23
24 /**
25 * The actions for this use-case. This will include the initial action to start the use-case.
26 * @return List<FrontEndAction>
27 */
28 public List<FrontEndAction> getActions();
29
30 /**
31 * Returns the activity graph describing this use-case in more detail.
32 * @return FrontEndActivityGraph
33 */
34 public FrontEndActivityGraph getActivityGraph();
35
36 /**
37 * All roles that directly or indirectly related to any "front-end" use cases.
38 * @return List<Role>
39 */
40 public List<Role> getAllRoles();
41
42 /**
43 * Returns all struts use-cases in this "front end" application.
44 * @return List<FrontEndUseCase>
45 */
46 public List<FrontEndUseCase> getAllUseCases();
47
48 /**
49 * Returns the controller for this use-case.
50 * @return FrontEndController
51 */
52 public FrontEndController getController();
53
54 /**
55 * The first view of this use case, this may actually return a view of another use case if the
56 * first is found by traveling through the final state.
57 * @return FrontEndView
58 */
59 public FrontEndView getInitialView();
60
61 /**
62 * The final states linking to this use case
63 * @return List<FrontEndFinalState>
64 */
65 public List<FrontEndFinalState> getReferencingFinalStates();
66
67 /**
68 * Returns all roles that are directly and indirectly associated to this use-case.
69 * @return List<Role>
70 */
71 public List<Role> getRoles();
72
73 /**
74 * The variables for all views in this use-case. A parameter qualifies to be a variable when it
75 * explicitely and directly receives it via an action.
76 * @return List<FrontEndParameter>
77 */
78 public List<FrontEndParameter> getViewVariables();
79
80 /**
81 * All views that are part of this use case.
82 * @return List<FrontEndView>
83 */
84 public List<FrontEndView> getViews();
85
86 /**
87 * True if this use-case is the entry point to the front end.
88 * @return boolean
89 */
90 public boolean isEntryUseCase();
91
92 /**
93 * Indicates if this use case is "secured". This is true when there is at least one role
94 * associated to it.
95 * @return boolean
96 */
97 public boolean isSecured();
98 }