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 import java.util.Map;
9 import javax.swing.tree.TreeNode;
10 import org.andromda.metafacades.uml.FrontEndUseCase;
11
12 /**
13 * A Struts use-case represents a set of related client/server requests and communication.
14 *
15 * Metafacade interface to be used by AndroMDA cartridges.
16 */
17 public interface StrutsUseCase
18 extends FrontEndUseCase
19 {
20 /**
21 * Indicates the metafacade type (used for metafacade mappings).
22 *
23 * @return boolean always <code>true</code>
24 */
25 public boolean isStrutsUseCaseMetaType();
26
27 /**
28 * This use-case's action path.
29 * @return String
30 */
31 public String getActionPath();
32
33 /**
34 * The root of the action path.
35 * @return String
36 */
37 public String getActionPathRoot();
38
39 /**
40 * Returns the action roles corresponding to this use-case's action, as found in the struts
41 * deployment descriptor. The action roles specifiy the roles in which the user must be in order
42 * to be authorized to call the action. One of the roles must be satisfied.
43 * @return String
44 */
45 public String getActionRoles();
46
47 /**
48 * A map with keys sorted alphabetically, normalized across all different use-cases and pages
49 * etc..
50 * @return Map
51 */
52 public Map getAllMessages();
53
54 /**
55 * This method returns all pages in the application. A page is an action state with the
56 * FrontEndView stereotype.
57 * @return List<StrutsJsp>
58 */
59 public List<StrutsJsp> getAllPages();
60
61 /**
62 * The root node of the application usecase hierarchy. Only makes sense when this usecase is an
63 * application usecase. Each usecase is only listed once in it's subtree, meaning when cycles ar
64 * edetected in the applicaion usecase graph the usecase will not be added when it already
65 * exists as an ancestor.
66 * @return TreeNode
67 */
68 public TreeNode getApplicationHierarchyRoot();
69
70 /**
71 * The name of the file containing specific styles for this use-case only.
72 * @return String
73 */
74 public String getCssFileName();
75
76 /**
77 * Returns the form fields used in this use-case, in fact these are all the parameters used in
78 * client/server communication for this use-case.
79 * @return List<StrutsParameter>
80 */
81 public List<StrutsParameter> getFormFields();
82
83 /**
84 * The key under which to store the forms contained in this use-case.
85 * @return String
86 */
87 public String getFormKey();
88
89 /**
90 * The root of the hierarchy of application usecases where this usecase is at the top. It is
91 * possible not all usecases are included in the descendants, they can be found in the
92 * collection of ancestor nodes.
93 * @return TreeNode
94 */
95 public TreeNode getHierarchyRoot();
96
97 /**
98 * The full path to this use-case's online help action. The returned String does not have a
99 * suffix such as '.do'.
100 * @return String
101 */
102 public String getOnlineHelpActionPath();
103
104 /**
105 * The key to lookup the online help documentation. This documentation is gathered from the
106 * documentation entered by the user, as well as analyzing the model.
107 * @return String
108 */
109 public String getOnlineHelpKey();
110
111 /**
112 * The full path to this use-case's online help page. The returned String does not have a suffix
113 * such as '.jsp'.
114 * @return String
115 */
116 public String getOnlineHelpPagePath();
117
118 /**
119 * The online help documentation. This documentation is gathered from the documentation entered
120 * by the user, as well as analyzing the model. The format is HTML without any style.
121 * @return String
122 */
123 public String getOnlineHelpValue();
124
125 /**
126 * The variables for all pages in this use-case. A parameter qualifies to be a variable when it
127 * explicitly and directly receives it via an action.
128 * @return List<StrutsParameter>
129 */
130 public List<StrutsParameter> getPageVariables();
131
132 /**
133 * This method returns all pages in the use-case. A page is an action state with the
134 * FrontEndView stereotype.
135 * @return List<StrutsJsp>
136 */
137 public List<StrutsJsp> getPages();
138
139 /**
140 * The title message key for this use-case.
141 * @return String
142 */
143 public String getTitleKey();
144
145 /**
146 * The title message value for this use-case.
147 * @return String
148 */
149 public String getTitleValue();
150
151 /**
152 * True if this use-case is where the application starts.
153 * @return boolean
154 */
155 public boolean isApplicationUseCase();
156
157 /**
158 * True if at least one client/server parameter found in the collection of existing use-cases
159 * requires validation.
160 * @return boolean
161 */
162 public boolean isApplicationValidationRequired();
163
164 /**
165 * TODO: Model Documentation for
166 * org.andromda.cartridges.bpm4struts.metafacades.StrutsUseCase.cyclic
167 * @return boolean
168 */
169 public boolean isCyclic();
170
171 /**
172 * True if some client/server parameters require validation for this use-case.
173 * @return boolean
174 */
175 public boolean isValidationRequired();
176 }