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 }