001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.cartridges.bpm4struts.metafacades; 006 007import java.util.List; 008import java.util.Map; 009import javax.swing.tree.TreeNode; 010import org.andromda.metafacades.uml.FrontEndUseCase; 011 012/** 013 * A Struts use-case represents a set of related client/server requests and communication. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface StrutsUseCase 018 extends FrontEndUseCase 019{ 020 /** 021 * Indicates the metafacade type (used for metafacade mappings). 022 * 023 * @return boolean always <code>true</code> 024 */ 025 public boolean isStrutsUseCaseMetaType(); 026 027 /** 028 * This use-case's action path. 029 * @return String 030 */ 031 public String getActionPath(); 032 033 /** 034 * The root of the action path. 035 * @return String 036 */ 037 public String getActionPathRoot(); 038 039 /** 040 * Returns the action roles corresponding to this use-case's action, as found in the struts 041 * deployment descriptor. The action roles specifiy the roles in which the user must be in order 042 * to be authorized to call the action. One of the roles must be satisfied. 043 * @return String 044 */ 045 public String getActionRoles(); 046 047 /** 048 * A map with keys sorted alphabetically, normalized across all different use-cases and pages 049 * etc.. 050 * @return Map 051 */ 052 public Map getAllMessages(); 053 054 /** 055 * This method returns all pages in the application. A page is an action state with the 056 * FrontEndView stereotype. 057 * @return List<StrutsJsp> 058 */ 059 public List<StrutsJsp> getAllPages(); 060 061 /** 062 * The root node of the application usecase hierarchy. Only makes sense when this usecase is an 063 * application usecase. Each usecase is only listed once in it's subtree, meaning when cycles ar 064 * edetected in the applicaion usecase graph the usecase will not be added when it already 065 * exists as an ancestor. 066 * @return TreeNode 067 */ 068 public TreeNode getApplicationHierarchyRoot(); 069 070 /** 071 * The name of the file containing specific styles for this use-case only. 072 * @return String 073 */ 074 public String getCssFileName(); 075 076 /** 077 * Returns the form fields used in this use-case, in fact these are all the parameters used in 078 * client/server communication for this use-case. 079 * @return List<StrutsParameter> 080 */ 081 public List<StrutsParameter> getFormFields(); 082 083 /** 084 * The key under which to store the forms contained in this use-case. 085 * @return String 086 */ 087 public String getFormKey(); 088 089 /** 090 * The root of the hierarchy of application usecases where this usecase is at the top. It is 091 * possible not all usecases are included in the descendants, they can be found in the 092 * collection of ancestor nodes. 093 * @return TreeNode 094 */ 095 public TreeNode getHierarchyRoot(); 096 097 /** 098 * The full path to this use-case's online help action. The returned String does not have a 099 * 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}