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